Birthday Cake Candles

Pada postingan saya kali ini akan membahas materi yang ada di HackerRank pada problem “Birthday Cake Candles” (baca disini).

Solution

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 birthdayCakeCandles function below.
    static int birthdayCakeCandles(int[] ar) {

        //mengurutkan array
        Arrays.sort(ar);

        //mendapatkan nilai array terbesar
        int big = ar[ar.length-1];

        int count = 0;

        //menghitung jumlah array terbesar
        for(int i = 0; i < ar.length; i++){
            if(ar[i] == big){
                count = count + 1;
            }
        }
        return count;
    }

    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 arCount = scanner.nextInt();
        scanner.skip("(\r\n|[\n\r\u2028\u2029\u0085])?");
        int[] ar = new int[arCount];
        String[] arItems = scanner.nextLine().split(" ");
        scanner.skip("(\r\n|[\n\r\u2028\u2029\u0085])?");
        for (int i = 0; i < arCount; i++) {
            int arItem = Integer.parseInt(arItems[i]);
            ar[i] = arItem;
        }
        int result = birthdayCakeCandles(ar);
        bufferedWriter.write(String.valueOf(result));
        bufferedWriter.newLine();
        bufferedWriter.close();
        scanner.close();
    }
}

Selamat mencoba 🙂

Mini-Max Sum

Pada postingan saya kali ini akan membahas materi yang ada di HackerRank pada problem “Mini-Max Sum” (baca disini).

Solution

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 miniMaxSum function below.
    static void miniMaxSum(int[] arr) {
        // array untuk menampung penjumlahan
        long arrHasil[] = new long[5];
        long hasil = 0;

        for(int i = 0; i < arr.length; i++){
            for(int j = 0; j < arr.length; j++){
                if(i==j){
                    // melewatkan index yg sama dengan i
                    hasil = hasil;
                }else{
                    hasil = hasil + arr[j];
                }
            }
            arrHasil[i] = hasil;
            hasil = 0;
        }

        // mengurutkan array
        Arrays.sort(arrHasil);
        System.out.print(arrHasil[0] + " " + arrHasil[4]);
    }

    private static final Scanner scanner = new Scanner(System.in);
    public static void main(String[] args) {

        int[] arr = new int[5];
        String[] arrItems = scanner.nextLine().split(" ");
        scanner.skip("(\r\n|[\n\r\u2028\u2029\u0085])?");
        for (int i = 0; i < 5; i++) {
            int arrItem = Integer.parseInt(arrItems[i]);
            arr[i] = arrItem;
        }
        miniMaxSum(arr);
        scanner.close();
    }
}

Selamat mencoba 🙂

Java Anagrams

Pada postingan saya kali ini akan membahas materi yang ada di HackerRank pada problem “Java Anagrams” (baca disini).

Solution

import java.util.Scanner;

public class Solution {

    static boolean isAnagram(String a, String b) {
        // Complete the function
        a =  a.toLowerCase();
        b =  b.toLowerCase();
        char arrA[] = a.toCharArray();
        char arrB[] = b.toCharArray();

        java.util.Arrays.sort(arrA);
        java.util.Arrays.sort(arrB);
        
        if(String.valueOf(arrA).equals(String.valueOf(arrB))){
            return true;
        }else{
            return false;
        }      
    }

    public static void main(String[] args) {
    
        Scanner scan = new Scanner(System.in);
        String a = scan.next();
        String b = scan.next();
        scan.close();
        boolean ret = isAnagram(a, b);
        System.out.println( (ret) ? "Anagrams" : "Not Anagrams" );
    }
}

Selamat mencoba 🙂

Java String Reverse

Pada postingan saya kali ini akan membahas materi yang ada di HackerRank pada problem “Java String Reverse” (baca disini).

Solution

import java.io.*;
import java.util.*;

public class Solution {
    public static void main(String[] args) {
        
        Scanner sc=new Scanner(System.in);
        String A=sc.next();
        /* Enter your code here. Print output to STDOUT. */
        char [] arrA = A.toCharArray();
        char [] aReverse = new char[arrA.length];

        int j = 0;
        for(int i = arrA.length-1 ; i >= 0; i--){
            aReverse[j] = arrA[i];
            j++;
        }
        
        if(A.equals(String.valueOf(aReverse))){
            System.out.print("Yes");
        }else{
            System.out.print("No");
        }
    }
}

Selamat mencoba 🙂

Java String Tokens

Pada postingan saya kali ini akan membahas materi yang ada di HackerRank pada problem “Java Int to String” (baca disini).

Solution

import java.io.*;
import java.util.*;

public class Solution {
    public static void main(String[] args) {

        Scanner scan = new Scanner(System.in);
        String s = scan.nextLine();

        // Write your code here.
        String delimeter = " !,?._'@";
        StringTokenizer stToken = new StringTokenizer(s,delimeter);
        System.out.println(stToken.countTokens());

        while(stToken.hasMoreTokens()){
             System.out.println(stToken.nextToken());
        }

        scan.close();
    }
}

Selamat mencoba 🙂

Java End-of-file

Pada postingan saya kali ini akan membahas materi yang ada di HackerRank pada problem “Java End-of-file” (baca disini).

Solution

import java.io.*;
import java.util.*;
import java.text.*;
import java.math.*;
import java.util.regex.*;

public class Solution {
    public static void main(String[] args) {

        //mendeklarasikan Scanner
        Scanner sc = new Scanner(System.in);

        //menampung String pertama
        String s = sc.nextLine();

        //variabel nomor
        int n = 1;

        //mencetak string pertama
        System.out.print(n + " " + s + "\n");

        //looping mencetak string berikutnya
        while(sc.hasNext()){
             n++;
            System.out.print(n + " " + sc.nextLine() + "\n");
        }
    }
}

Selamat mencoba 🙂

Java Loops I

Pada postingan saya kali ini akan membahas materi yang ada di HackerRank pada problem “Java Loops I” (baca disini).

Solution

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 {
    private static final Scanner scanner = new Scanner(System.in);

    public static void main(String[] args) {
        int N = scanner.nextInt();
        scanner.skip("(\r\n|[\n\r\u2028\u2029\u0085])?");
        scanner.close();


        int i = 1;
        while(i <= 10 ){
            System.out.println(N + " x " + i + " = " + (N*i));
            i++;
        }
    }
}

Selamat mencoba 🙂

Java Stdin and Stdout II

Pada postingan saya kali ini akan membahas materi yang ada di HackerRank pada problem “Java Stdin and Stdout II” (baca disini).

Solution

import java.util.Scanner;

public class Solution {
    public static void main(String[] args) {

        Scanner scan = new Scanner(System.in);

        int i = scan.nextInt();
        double d = scan.nextDouble();

        //pindah baris
        scan.nextLine();
        String s = scan.nextLine();

        System.out.println("String: " + s);
        System.out.println("Double: " + d);
        System.out.println("Int: " + i);

    }

}

Selamat mencoba 🙂

Java If-Else

Pada postingan saya kali ini akan membahas materi yang ada di HackerRank pada problem “Java If-Else” (baca disini).

Solution

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 {
    private static final Scanner scanner = new Scanner(System.in);
    public static void main(String[] args) {
        int N = scanner.nextInt();
        scanner.skip("(\r\n|[\n\r\u2028\u2029\u0085])?");
        scanner.close();

        //menentukan bilangan genap atau ganjil
        if(N % 2 == 0){
            System.out.print("Not Weird");
        }else{
            System.out.print("Weird");
        }

    }

}

Selamat mencoba 🙂