function solution(participant, completion) {
let pt = {};
for (let i=0; i<participant.length; i++) {
if (pt[participant[i]]) pt[participant[i]]++;
else pt[participant[i]]=1;
}
for (let i=0; i<completion.length; i++) {
if (pt[completion[i]]) pt[completion[i]]--;
}
let ans = Object.entries(pt);
let answer='';
for (let i=0; i<ans.length; i++) {
if (ans[i][1]===1) {
answer=ans[i][0];
}
}
return answer;
}
console.log(solution(["leo", "kiki", "eden"], ["eden", "kiki"]));
for ... in
function solution(participant, completion) {
participant.sort();
completion.sort();
for(let i in participant) {
if(participant[i] !== completion[i]) return participant[i];
}
}
sort보다 성능도 좋고, 가독성도 좋다.
요소 추가: Map.set(key, value)
요소 접근: Map. get(key)
function solution(participant, completion) {
const map = new Map();
for(let i = 0; i < participant.length; i++) {
let a = participant[i],
b = completion[i];
map.set(a, (map.get(a) || 0) + 1);
map.set(b, (map.get(b) || 0) - 1);
}
for(let [k, v] of map) {
if(v > 0) return k;
}
return 'nothing';
}
간단해서 좋다.
const solution = (p, c) => {
p.sort()
c.sort()
while (p.length) {
let pp = p.pop()
if (pp !== c.pop()) return pp
}
}