-
728x90
- 듣도 못한 사람 이름을 key로하는 map을 만든다.
- 듣도 못한 사람 목록을 오름차순 정렬한다. => TreeMap이용
- 듣도 못한 사람이 보도 못한 사람에도 속하면 value를 true로 바꿔준다.
- map을 순회하면서, 듣보잡인 사람(true)을 출력한다.
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.HashMap; import java.util.Iterator; import java.util.Set; import java.util.StringTokenizer; import java.util.TreeMap; 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, Boolean> people = new HashMap(); for (int i = 0; i < N; i++) people.put(br.readLine(), false); // 오름차순 정렬 TreeMap<String, Boolean> tm = new TreeMap<String, Boolean>(people); Set<String> keyset = people.keySet(); Iterator<String> keyiterator = tm.keySet().iterator(); // 보도 못한 사람에도 속하면 true for (int i = 0; i < M; i++) { String person = br.readLine(); if (tm.containsKey(person)) tm.put(person, true); } int num = 0; StringBuilder sb = new StringBuilder(); for (String key : tm.keySet()) { if (tm.get(key) == true) { num++; sb.append(key + "\n"); } } System.out.println(num); System.out.println(sb.toString()); } }
'알고리즘 풀이 > 백준' 카테고리의 다른 글
[22944] 백준 - 죽음의 비(JAVA) (0) 2021.10.19 [1780] 백준 - 종이의 개수(JAVA) (0) 2021.08.11 [1697] 백준 - 숨바꼭질(JAVA) (0) 2021.08.04 [1676] 백준 - 팩토리얼 0의 개수(JAVA) (0) 2021.08.04 [1620] 백준 - 나는야 포켓몬 마스터 이다솜 (0) 2021.08.04 댓글