알고리즘/Programmers
[Level1] 완주하지못한 선수 🔥
연재몬
2022. 3. 14. 13:10
function solution(participant, completion) {
let answer = "";
let player = {};
for (let i = 0; i < participant.length; i++) {
if (player[participant[i]] === undefined) {
player[participant[i]] = 1;
} else {
player[participant[i]]++;
}
}
for (let i = 0; i < completion.length; i++) {
player[completion[i]]--;
}
for (let i = 0; i < participant.length; i++) {
if (player[participant[i]] === 1) {
return participant[i];
}
}
}
객체에 대한 개념이해가 부족해서 많이 어려웠던 문제,,,ㅠㅠ
player이라는 빈 객체를 생성해주고,
for문을 통해 돌면서 객체안에 키값을 넣어주었다.
중복된값이 있기때문에 undefined일 경우 1을 넣어주고
이미 있는 값의경우, count를 하나씩 증가시켜준다.
그리고, 다시 돌면서 합격자명단에 있는 이름을 player에서 -- 해준다.
결과적으로 count가 1인 요소만 리턴해주면
중복된이름까지 처리가 가능!