
출처 - 프로그래머스 코딩테스트 고득점 KIT
participant 배열을 순회하며 참가자 이름을 key, 해당 이름을 가진 참가자 인원 수를 value 값으로 가지는 해시 테이블을 생성한다.completion 배열을 순회하며 해시 테이블에서 완주자 인원을 제외한다. function solution(participant, completion) {
let answer = "";
let pH = new Map();
for (let p of participant) {
pH.set(p, pH.get(p) + 1 || 1);
}
for (let c of completion) {
if (pH.get(c) === 1) {
pH.delete(c);
} else {
pH.set(c, pH.get(c) - 1);
}
}
for (let [key, value] of pH) {
answer = key;
}
return answer;
}
function solution(participant, completion) {
let answer = "";
let pH = {};
for (let p of participant) {
const val = pH[p] ? pH[p] + 1 : 1;
pH[p] = val;
}
for (let c of completion) {
if (pH[c] === 1) {
delete pH[c];
} else {
pH[c] = pH[c] - 1;
}
}
answer = Object.keys(pH)[0];
return answer;
}
.set, .get, .has, .delete 메소드 익히기.keys, .values, .entries 메소드 익히기