[문제]
1764번: 듣보잡
첫째 줄에 듣도 못한 사람의 수 N, 보도 못한 사람의 수 M이 주어진다. 이어서 둘째 줄부터 N개의 줄에 걸쳐 듣도 못한 사람의 이름과, N+2째 줄부터 보도 못한 사람의 이름이 순서대로 주어진다.
www.acmicpc.net
[풀이]
우선 HashMap을 생성하여 N개의 엘리먼트를 만든다. 각각의 key와 value는 ('입력한 이름' , 1) 으로 놓는다.
그 다음 M개의 이름을 입력받는데, getOrDefault 메소드를 이용하여 값을 2로 만든다.
getOrDefault(Object key, Object DefaultValue)
찾는 키가 존재한다면 찾는 키의 값을 반환하고 없다면 기본 값을 반환하는 메소드
- key : 값을 가져와야 하는 요소의 키
- defaultValue : 지정된 키로 매핑된 값이 없는 경우 반환 되어야 하는 기본값
입력받은 이름이 map의 엘리먼트 키에 이미 존재한다면 1을 반환하고, 존재하지 않는다면 0을 반환하게 된다. 그 수에 +1을 하면 중복으로 입력된 이름은 value가 2, 한 번만 입력된 이름은 value가 1이 될 것이다.
value가 2인 key(여기서는 name)는 ArrayList 타입의 list에 저장한다.
사전 순으로 이름을 배열하라고 했으므로 Collections.sort()를 이용한다.
list는 배열이 아닌 ArrayList 이므로 Collections.sort()를 사용한다.
'백준 > JAVA' 카테고리의 다른 글
[JAVA] 백준_1269 (0) | 2023.08.12 |
---|---|
[JAVA] 백준_10816 (0) | 2023.08.06 |
[JAVA] 백준_1620 (0) | 2023.08.05 |
[JAVA] 백준_7785 (0) | 2023.08.04 |
[JAVA] 백준_10815 (0) | 2023.08.03 |