
2개의 String값이 있으며 두 값을 비교하여 완주하지 못한 사람을 찾는 문제이다.
import java.util.*;
class Solution {
public String solution(String[] participant, String[] completion) {
String answer = "";
HashMap<String,Integer> map = new HashMap<String,Integer>();
for(String player : participant){ //participant라는 입출력 내용을 player에 넣어준다.
if(map.containsKey(player)){ //containsKey메서드는 해당 키가 해시맵에 있으면 true를 반환하고, 없으면 false를 반환
//맨처음에는 map이 빈값이기 때문에 false라서 else로 이동한다.
map.put(player,map.get(player)+1);//map.put(key값,value값)
}else{
map.put(player,1);
}
}
for(String player : completion){
map.put(player,map.get(player)-1);
}
for(String key : map.keySet()){
if(map.get(key) !=0){
return key;
}
}
return answer;
}
}
containsKey 메서드가 사용되는 이유
- 동명이인 처리: 마라톤 참가자 중에 동명이인이 있을 수 있기 때문에, 해시맵에 이미 존재하는 이름인지 확인하는 것이 중요합니다. 이 확인을 통해, 이미 등록된 이름이라면 그 값을 증가시키고, 그렇지 않다면 새로 추가하는 방식으로 동명이인도 제대로 처리할 수 있다.
'코딩테스트 공부' 카테고리의 다른 글
해시-의상 (2) | 2024.08.28 |
---|---|
해시-전화번호 목록 (0) | 2024.08.27 |
해시-폰켓몬 (0) | 2024.08.22 |
평균 구하기-level1 (0) | 2024.04.23 |
약수의 합-level1 (0) | 2024.04.23 |

2개의 String값이 있으며 두 값을 비교하여 완주하지 못한 사람을 찾는 문제이다.
import java.util.*;
class Solution {
public String solution(String[] participant, String[] completion) {
String answer = "";
HashMap<String,Integer> map = new HashMap<String,Integer>();
for(String player : participant){ //participant라는 입출력 내용을 player에 넣어준다.
if(map.containsKey(player)){ //containsKey메서드는 해당 키가 해시맵에 있으면 true를 반환하고, 없으면 false를 반환
//맨처음에는 map이 빈값이기 때문에 false라서 else로 이동한다.
map.put(player,map.get(player)+1);//map.put(key값,value값)
}else{
map.put(player,1);
}
}
for(String player : completion){
map.put(player,map.get(player)-1);
}
for(String key : map.keySet()){
if(map.get(key) !=0){
return key;
}
}
return answer;
}
}
containsKey 메서드가 사용되는 이유
- 동명이인 처리: 마라톤 참가자 중에 동명이인이 있을 수 있기 때문에, 해시맵에 이미 존재하는 이름인지 확인하는 것이 중요합니다. 이 확인을 통해, 이미 등록된 이름이라면 그 값을 증가시키고, 그렇지 않다면 새로 추가하는 방식으로 동명이인도 제대로 처리할 수 있다.
'코딩테스트 공부' 카테고리의 다른 글
해시-의상 (2) | 2024.08.28 |
---|---|
해시-전화번호 목록 (0) | 2024.08.27 |
해시-폰켓몬 (0) | 2024.08.22 |
평균 구하기-level1 (0) | 2024.04.23 |
약수의 합-level1 (0) | 2024.04.23 |