[백준] 10816번 : 숫자 카드 2 - JAVA [자바]

가오리·2024년 2월 1일
1
post-thumbnail

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


HashMap을 사용하여 풀었다.

시간 초과를 해결하기 위해 입력을 받는 동시에 출력을 하도록 하였다.


public class bj10816 {
    public static void main(String[] args) throws Exception {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));

        int N = Integer.parseInt(br.readLine());
        Map<Integer, Integer> card = new HashMap<>();
        String[] split = br.readLine().split(" ");
        for (int i = 0; i < N; i++) {
            int num = Integer.parseInt(split[i]);
            if (card.get(num) == null) {
                card.put(num, 1);
            } else {
                card.put(num, card.get(num) + 1);
            }
        }

        int M = Integer.parseInt(br.readLine());
        String[] split1 = br.readLine().split(" ");
        for (int i = 0; i < M; i++) {
            Integer i1 = card.get(Integer.parseInt(split1[i]));
            if (i1 == null) {
                bw.write(0 + " ");
            } else bw.write(i1 + " ");
        }

        bw.flush();
        bw.close();
        br.close();
    }
}
profile
가오리의 개발 이야기

0개의 댓글

관련 채용 정보