프로그래머스[Level 1] 완주하지 못한 선수(해시)

bkboy·2022년 6월 10일
0

문제

제한 사항

입출력 예

풀이

function solution(participant, completion) {
  let answer = "";
  let myMap = new Map();
  for (let x of participant) {
    if (myMap.has(x)) {
      myMap.set(x, myMap.get(x) + 1);
    } else {
      myMap.set(x, 1);
    }
  }

  for (let x of completion) {
    if (myMap.has(x)) {
      myMap.set(x, myMap.get(x) - 1);
      if (!myMap.get(x)) {
        myMap.delete(x);
      }
    }
  }

  for (let x of [...myMap.keys()]) {
    answer += x + " ";
  }
  return answer.trim();
}
  • key와 value를 다루는 Map자료구조를 이용했다.
  • participant를 순회하며 Map을 만들고, completion을 순회하며 만들어진 map에서 value를 -1하거나 key값을 삭제해줬다.
profile
음악하는 개발자

0개의 댓글