선수와 선수의 수를 저장할 해쉬맵 선언
participant 배열을 통해
참가자들의 수만큼 수를 더해줌 (중복 생각해줌)
completion 배열을 통해
완주자들의 수만큼 수를 빼줌
마무리 후
해쉬맵의 성분 중에 value값이 1인 key값을 출력해주면 된다
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
| import java.util.HashMap;
import java.util.Map;
class Solution {
public String solution(String[] participant, String[] completion) {
String answer = "";
Map<String, Integer> map = new HashMap<String, Integer>();
for (String str : participant) {
if (map.get(str) == null)
map.put(str, 1);
else
map.put(str, map.get(str) + 1);
}
for (String str : completion) {
map.put(str, map.get(str) - 1);
}
for (String str : map.keySet()) {
if (map.get(str) == 1)
answer = str;
}
return answer;
}
}
|
참고 : https://dreamhollic.tistory.com/entry/%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98-%EB%AC%B8%EC%A0%9C-%ED%92%80%EC%9D%B45-%EC%99%84%EC%A3%BC%ED%95%98%EC%A7%80-%EB%AA%BB%ED%95%9C-%EC%84%A0%EC%88%98-JAVA