프로그래머스 Lv.1 완주하지못한선수

Kim Jason·2023년 4월 3일
0

알고리즘 노트

목록 보기
20/35
post-thumbnail

💁🏻 코드

function solution(participant, completion) {
    const runners = {};
    
    participant.forEach(runner => {
        runners[runner] = (runners[runner] || 0) + 1;
    })
    
    completion.forEach(runner => {
        runners[runner] -= 1;
    })
    
    for (const key in runners) {
        if (runners[key] === 1) return key;
    }
}

입력값의 제한은 다음과 같다.

  • 1 <= 마라톤에 참가한 선수 명단 배열 participant <= 100,000
  • 완주한 선수 명단 배열 completion의 길이 = participant의 길이 - 1

이중 for문의 사용은 불가능하다고 생각했다.
처음에는 중복된 선수의 이름이 존재한다는 사실을 망각하고 배열을 사용한 답안코드를 작성했다.


profile
성장지향형 프론트엔드 개발자

0개의 댓글