import java.util.HashMap;
class Solution {
public String solution(String[] participant, String[] completion) {
String answer = "";
HashMap<String, Integer> hashmap = new HashMap<>();
for(String player : participant)
hashmap.put(player, hashmap.getOrDefault(player, 0) +1);
for(String player : completion)
hashmap.put(player, hashmap.get(player) -1);
for(String key : hashmap.keySet()) {
if(hashmap.get(key) != 0){
answer = key;
break;
}
}
return answer;
}
}
참가자의 이름을 key, 참가자의 등장 횟수를 value로 저장합니다.
getOrDefault(player, 0) +1은 player라는 이름이 맵에 있으면 값을 가져오고, 없으면 0을 반환합니다. 그리고 등장 횟수를 1 증가합니다.
hashmap.get(player) -1은 완주한 사람의 등장 횟수를 가져와 -1을 합니다.
즉, 완주한 사람은 value가 0이 되고 완주하지 못한 사람은 1이 됩니다.
따라서 hashmap.get(key) != 0인 경우, 완주하지 못한 사람의 이름인 key 값을 반환합니다.
.
.
.
문제는 아래에서 확인할 수 있습니다.
https://school.programmers.co.kr/learn/courses/30/lessons/42576
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
'Algorithm > Programmers' 카테고리의 다른 글
[프로그래머스_SQL] 3월에 태어난 여성 회원 목록 출력하기 (0) | 2024.12.30 |
---|---|
[프로그래머스_JAVA_알고리즘] 디스크 컨트롤러 #힙 #우선순위 큐 (1) | 2024.12.20 |
[프로그래머스_JAVA_알고리즘] 더 맵게 #힙 #우선순위 큐 (0) | 2024.12.18 |
[프로그래머스_JAVA_알고리즘] 의상 #해시 (1) | 2024.11.03 |
[프로그래머스_JAVA_알고리즘] 문자열 정렬하기 (2) #정렬 (1) | 2024.11.02 |