자바/백준

[백준 1302] 베스트셀러

슈슈버거 2024. 8. 7. 20:56

문제

https://www.acmicpc.net/problem/1302


내가 작성한 코드

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

public class qor1302 {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int N = Integer.parseInt(br.readLine());

        Map<String, Integer> bookCount = new HashMap<>();

        int max = 0;

        for (int i = 0; i < N; i++) {
            String nameOfBook = br.readLine();

            if (bookCount.containsKey(nameOfBook)) {
                bookCount.put(nameOfBook, bookCount.get(nameOfBook) + 1);
            } else {
                bookCount.put(nameOfBook, 1);
            }

            if (bookCount.get(nameOfBook) >= max) {
                max = bookCount.get(nameOfBook);
            }
        }

        List<String> gradeOfBook = new ArrayList<>();
        for (Map.Entry<String, Integer> entry : bookCount.entrySet()) {
            if(entry.getValue() >= max) {
                gradeOfBook.add(entry.getKey());
            }
        }

        Collections.sort(gradeOfBook);
        System.out.println(gradeOfBook.get(0));
    }
}

 

파이썬을 하다가 최근에 dart를 많이 만지게 되어서 java가 더 익숙할 것 같다는 생각에 급하게 갈아타기

 

if문을 많이 써서 매우 직관적인 코드라고 생각한다.