-
Notifications
You must be signed in to change notification settings - Fork 0
Closed
Labels
Description
문제
핵심 아이디어
- 두 참가자, 완료자 배열을 정렬하고 인덱스 다른 선수 리턴
어려운 점, 실수
풀이
배열로 풀이
package main.java.com.poogle.PG.Q42576;
import java.util.Arrays;
public class Solution {
public String solution(String[] participant, String[] completion) {
Arrays.sort(participant);
Arrays.sort(completion);
int playerIndex = 0;
for (playerIndex = 0; playerIndex < completion.length; playerIndex++) {
if (!participant[playerIndex].equals(completion[playerIndex])) {
return participant[playerIndex];
}
}
return participant[playerIndex];
}
}Map Key로 풀이
import java.util.Map;
import java.util.HashMap;
class Solution {
public String solution(String[] participant, String[] completion) {
String answer = "";
Map<String, Integer> map = new HashMap<>();
for (String person : participant) {
map.put(person, map.getOrDefault(person, 0) + 1);
}
for (String player : completion) {
map.put(player, map.get(player) - 1);
}
for (String key : map.keySet()) {
if (map.get(key) != 0) {
answer = key;
break;
}
}
return answer;
}
}EntrySet으로 풀이
import java.util.Map;
import java.util.HashMap;
import java.util.Iterator;
class Solution {
public String solution(String[] participant, String[] completion) {
String answer = "";
Map<String, Integer> map = new HashMap<>();
for (String person : participant) {
map.put(person, map.getOrDefault(person, 0) + 1);
}
for (String player : completion) {
map.put(player, map.get(player) - 1);
}
Iterator<Map.Entry<String, Integer>> iterator = map.entrySet().iterator();
while (iterator.hasNext()) {
Map.Entry<String, Integer> entry = iterator.next();
if (entry.getValue() != 0) {
answer = entry.getKey();
break;
}
}
return answer;
}
}