완주하지 못한 선수 [프로그래머스]

수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다.

마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수들의 이름이 담긴 배열 completion이 주어질 때, 완주하지 못한 선수의 이름을 return 하도록 solution 함수를 작성해주세요.

function solution(participant, completion) {
    const runners = {};
    
    for (let p of participant) { 
        runners[p] = runners[p] ? runners[p] + 1 : 1;
        // runners 객체 키에 기존 참가자가 있으면 값에 1을 더하고 없으면 값에 1을 저장합니다.
    }
    
    for (let c of completion) {
        runners[c] -= 1;
        // runners 객체 키에 완주자가 있으면 값에서 1을 뺍니다.
    }
    
    for (let r in runners) {
        if (runners[r] === 1) return r;
        // 완주를 하지 못한 참가자는 값이 그대로 1이기에 완주하지 못한 참가자를 반환합니다.
    }
}
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기