매일 Algorithm

신재원·2023년 5월 23일
0

Algorithm

목록 보기
128/243

백준 11652번 (Silver 4)

import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;

public class problem430 {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int number = in.nextInt();
        Map<Long, Integer> map = new HashMap<>();
        int count = 0;
        long temp = 0;
        for (int i = 0; i < number; i++) {
            long num = in.nextLong();
            map.put(num, map.getOrDefault(num, 0) + 1);

            if (map.get(num) > count) {
                count = map.get(num); // 갯수 max값 할당
                temp = num;
            } else if (map.get(num) == count) {
                temp = Math.min(temp, num); // 갯수가 같을경우의 최소값
            }
        }
        System.out.println(temp);
    }
}

백준 10845번

import java.util.LinkedList;
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int number = in.nextInt();

        LinkedList<Integer> queue = new LinkedList<>();
        StringBuilder output = new StringBuilder();

        for (int i = 0; i < number; i++) {
            String compare = in.next();

            switch (compare) {
                case "push":
                    int num = in.nextInt();
                    queue.offer(num);
                    break;
                case "pop":
                    if (queue.isEmpty()) {
                        output.append("-1\n");
                    } else {
                        output.append(queue.poll()).append("\n");
                    }
                    break;
                case "size":
                    output.append(queue.size()).append("\n");
                    break;
                case "empty":
                    if (queue.isEmpty()) {
                        output.append("1\n");
                    } else {
                        output.append("0\n");
                    }
                    break;
                case "front":
                    if (queue.isEmpty()) {
                        output.append("-1\n");
                    } else {
                        output.append(queue.peek()).append("\n");
                    }
                    break;
                case "back":
                    if (queue.isEmpty()) {
                        output.append("-1\n");
                    } else {
                        // peekLast() : 큐의 가장 뒤에 있는 정수를 출력
                        output.append(queue.peekLast()).append("\n");
                    }
                    break;
            }
        }

        System.out.print(output);
    }
}

백준 11656번

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Scanner;

public class problem432 {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        List<String> list = new ArrayList<>();
        String str = in.next();

        for (int i = 0; i < str.length(); i++) {
            list.add(str.substring(i));

        }

        Collections.sort(list); // 오름차순

        // 결과 출력
        for (String result : list) {
            System.out.println(result);
        }
    }
}

백준 1850번

import java.util.Scanner;

public class problem433 {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        StringBuilder sb = new StringBuilder();
        long num1 = in.nextLong();
        long num2 = in.nextLong();
        long gcd = gcd(num1, num2);

        // 최대공약수 값만큼 1 누적
        for (int i = 0; i < gcd; i++) {
            sb.append("1");
        }

        System.out.println(sb.toString());
    }

    // 최대 공약수
    static long gcd(long a, long b) {
        if (b == 0) return a;
        return gcd(b, a % b);
    }

}

0개의 댓글