1. 내 풀이
정렬 후 다른 게 있으면 바로 리턴, 끝까지 다른게 안나오면 마지막 값 리턴
import java.util.*;
class Solution {
public String solution(String[] participant, String[] completion) {
String answer = "";
Arrays.sort(participant);
Arrays.sort(completion);
for(int i = 0; i < completion.length ;i++) {
if(!participant[i].equals(completion[i])){
return participant[i];
}
}
return participant[completion.length];
}
}
2. 다른 분 풀이
HashMap을 이용하여 푸셨다. 둘다 원리는 같은 것 같다.
import java.util.HashMap;
class Solution {
public String solution(String[] participant, String[] completion) {
String answer = "";
HashMap<String, Integer> hm = new HashMap<>();
for (String player : participant) hm.put(player, hm.getOrDefault(player, 0) + 1);
for (String player : completion) hm.put(player, hm.get(player) - 1);
for (String key : hm.keySet()) {
if (hm.get(key) != 0){
answer = key;
}
}
return answer;
}
}
'코딩테스트 > Programmers' 카테고리의 다른 글
[프로그래머스] 단어 변환 (3) | 2025.08.05 |
---|---|
[프로그래머스] 소수 찾기 ( java ) (1) | 2025.08.04 |
[프로그래머스] 둘만의 암호 (0) | 2025.03.13 |
[프로그래머스] 로또의 최고 순위와 최저 순위 (1) | 2025.03.05 |
[프로그래머스] 다트 게임 (0) | 2025.03.05 |