호지

[프로그래머스] 완주하지 못한 선수 문제풀이 JS 본문

알고리즘/프로그래머스

[프로그래머스] 완주하지 못한 선수 문제풀이 JS

_hoji

완주한 선수 리스트를 탐색해서

checkComplete에 해당이름의 완주한 선수들의 수를 저장한다.

(동명이인이 몇명인지 모르니 수를 저장)

 

이후 참가한 선수 리스트를 탐색해서,

해당 선수의 이름이 checkComplete에 존재한다면

그 선수는 완주한 것이므로 해당 이름의 checkComplete를 감소한다.

checkComplete가 undefined거나 수가 0이면

완주하지 못한 선수이므로 해당 선수 이름을 return하면

원하는 결과를 구할 수 있다.

function solution(participant, completion) {
  let checkComplete = {}
  for (const c of completion) checkComplete[c] = checkComplete[c] + 1 || 1
  for (const p of participant) {
    if (!checkComplete[p]) return p
    else {
      checkComplete[p]--
    }
  }
}

https://school.programmers.co.kr/learn/courses/30/lessons/42576

Comments