Skip to content

Commit

Permalink
Merge pull request satyajitghana#73 from 17tanya/master
Browse files Browse the repository at this point in the history
Hackerrank Solutions in Java
  • Loading branch information
satyajitghana authored Oct 16, 2019
2 parents b42327b + ce4d21a commit dcafae8
Show file tree
Hide file tree
Showing 4 changed files with 212 additions and 0 deletions.
69 changes: 69 additions & 0 deletions hackerrank/java/3dSurfaceArea.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
//Link to the question - https://www.hackerrank.com/challenges/3d-surface-area/problem
import java.io.*;
import java.math.*;
import java.security.*;
import java.text.*;
import java.util.*;
import java.util.concurrent.*;
import java.util.regex.*;

public class Solution {

// Complete the surfaceArea function below.
static int surfaceArea(int[][] A) {
int r=A.length;
int c=A[0].length;
int area=r*c*2;
for(int i=0;i<r;i++) area=area+A[i][0]; //first column all rows
for(int i=0;i<c;i++) area=area+A[0][i];
for(int i=0;i<r;i++) area=area+A[i][c-1];
for(int i=0;i<c;i++) area=area+A[r-1][i];

for(int i=0;i<r;i++){
for(int j=0;j<c-1;j++){
if(Math.abs(A[i][j]-A[i][j+1])>0) area=area+Math.abs(A[i][j]-A[i][j+1]);
}
}

for(int j=0;j<c;j++){
for(int i=0;i<r-1;i++){
if(Math.abs(A[i][j]-A[i+1][j])>0) area=area+Math.abs(A[i][j]-A[i+1][j]);
}
}
return area;
}

private static final Scanner scanner = new Scanner(System.in);

public static void main(String[] args) throws IOException {
BufferedWriter bufferedWriter = new BufferedWriter(new FileWriter(System.getenv("OUTPUT_PATH")));

String[] HW = scanner.nextLine().split(" ");

int H = Integer.parseInt(HW[0]);

int W = Integer.parseInt(HW[1]);

int[][] A = new int[H][W];

for (int i = 0; i < H; i++) {
String[] ARowItems = scanner.nextLine().split(" ");
scanner.skip("(\r\n|[\n\r\u2028\u2029\u0085])?");

for (int j = 0; j < W; j++) {
int AItem = Integer.parseInt(ARowItems[j]);
A[i][j] = AItem;
}
}

int result = surfaceArea(A);

bufferedWriter.write(String.valueOf(result));
bufferedWriter.newLine();

bufferedWriter.close();

scanner.close();
}
}

51 changes: 51 additions & 0 deletions hackerrank/java/ChocolateFeast.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
//Link to question - https://www.hackerrank.com/challenges/chocolate-feast/problem
import java.io.*;
import java.math.*;
import java.security.*;
import java.text.*;
import java.util.*;
import java.util.concurrent.*;
import java.util.regex.*;

public class Solution {

// Complete the chocolateFeast function below.
static int chocolateFeast(int n, int c, int m) {
int wrap=n/c;
int tot=wrap;
while(wrap>=m){
wrap=wrap-m;
tot++;
wrap++;
}
return tot;
}

private static final Scanner scanner = new Scanner(System.in);

public static void main(String[] args) throws IOException {
BufferedWriter bufferedWriter = new BufferedWriter(new FileWriter(System.getenv("OUTPUT_PATH")));

int t = scanner.nextInt();
scanner.skip("(\r\n|[\n\r\u2028\u2029\u0085])?");

for (int tItr = 0; tItr < t; tItr++) {
String[] ncm = scanner.nextLine().split(" ");

int n = Integer.parseInt(ncm[0]);

int c = Integer.parseInt(ncm[1]);

int m = Integer.parseInt(ncm[2]);

int result = chocolateFeast(n, c, m);

bufferedWriter.write(String.valueOf(result));
bufferedWriter.newLine();
}

bufferedWriter.close();

scanner.close();
}
}
60 changes: 60 additions & 0 deletions hackerrank/java/FairRations.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
//Link to the question - https://www.hackerrank.com/challenges/fair-rations/problem
import java.io.*;
import java.math.*;
import java.security.*;
import java.text.*;
import java.util.*;
import java.util.concurrent.*;
import java.util.regex.*;

public class Solution {

// Complete the fairRations function below.
static int fairRations(int[] B) {
int sum=0;
int cnt=0;
for(int i=0;i<B.length;i++){
sum=sum+B[i];
}
if(sum%2!=0) return -1;
else{
for(int i=0;i<B.length;i++){
if(B[i]%2!=0){
B[i]++;
B[i+1]++;
cnt=cnt+2;
}
}
return cnt;
}

}

private static final Scanner scanner = new Scanner(System.in);

public static void main(String[] args) throws IOException {
BufferedWriter bufferedWriter = new BufferedWriter(new FileWriter(System.getenv("OUTPUT_PATH")));

int N = scanner.nextInt();
scanner.skip("(\r\n|[\n\r\u2028\u2029\u0085])?");

int[] B = new int[N];

String[] BItems = scanner.nextLine().split(" ");
scanner.skip("(\r\n|[\n\r\u2028\u2029\u0085])?");

for (int i = 0; i < N; i++) {
int BItem = Integer.parseInt(BItems[i]);
B[i] = BItem;
}

int result = fairRations(B);
if(result!=-1) bufferedWriter.write(String.valueOf(result));
else bufferedWriter.write("NO");
bufferedWriter.newLine();

bufferedWriter.close();

scanner.close();
}
}
32 changes: 32 additions & 0 deletions hackerrank/java/ServiceLane.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
//Link to question - https://www.hackerrank.com/challenges/service-lane/problem
import java.io.*;
import java.math.*;
import java.security.*;
import java.text.*;
import java.util.*;
import java.util.concurrent.*;
import java.util.regex.*;

public class Solution {
public static void main(String args[]){
Scanner s=new Scanner(System.in);
int n=s.nextInt();
int t=s.nextInt();
int j=0;
int k=0;
int min=0;
int arr[]=new int[n];
for(int i=0;i<n;i++){
arr[i]=s.nextInt();
}
for(int i=0;i<t;i++){
j=s.nextInt();
k=s.nextInt();
min=arr[j];
for(int p=j+1;p<=k;p++){
if(min>=arr[p]) min=arr[p];
}
System.out.println(min);
}
}
}

0 comments on commit dcafae8

Please sign in to comment.