[백준] 1764번: 듣보잡 자바

이다혜·2024년 2월 13일
0

백준

목록 보기
21/29

📎 문제 출처


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

📌 문제 설명


❓ 풀이 방법


hashmap을 사용해서 먼저 듣도 못한 사람을 저장하고
그 후에 보도 못한 사람을 저장해서 듣도 보도 못한 사람이면 중복이므로 value를 2가 되게 했다.

정렬은 value가 2인 사람의 이름을 arraylist에 저장하여 Collections.sort()로 정렬했다.

📌 Code


import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.*;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringTokenizer st = new StringTokenizer(br.readLine());

        int n = Integer.parseInt(st.nextToken());
        int m = Integer.parseInt(st.nextToken());

        HashMap<String, Integer> map = new HashMap<>();
        for(int i = 0; i < n; i++) {
            map.put(br.readLine(), 1);
        }

        for(int j = 0; j < m; j++) {
            String name = br.readLine();
            map.put(name, map.getOrDefault(name, 0) + 1);
        }

        ArrayList<String> list = new ArrayList<>();
        for(String name : map.keySet()) {
            if(map.get(name) == 2) {
                list.add(name);
            }
        }

        Collections.sort(list);

        System.out.println(list.size());
        for(String name : list) {
            System.out.println(name);
        }
    }
}

0개의 댓글