Le1. 완주하지 못한 선수

 

문제 programmers.co.kr/learn/courses/30/lessons/42576?language=javascript

 

function solution(participant, completion) {
    const total = participant.length;
    var answer = '';
    
    participant.sort();
    completion.sort();
    
    for(let i=0; i<total; i++) {
        if(participant[i] !== completion[i]) {
            answer = participant[i];
            return answer;
        }
    }
}

 

풀이

  • 참여한 선수의 수는 1명 이상 100,000명 이하 -> 시간 복잡도 고려하기!
  • 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주 -> 한 명만 골라내면 됨
  • sort() 함수를 이용해 두 array를 정렬한 뒤, 순서대로 비교
  • 순서가 일치하지 않을 경우, 해당 participant가 completion 명단에 없다는 의미이므로 해당 participant를 return
  • 형변환하여 비교하지 않도록 !== 연산자 사용

 

[출처] miiingo.tistory.com/338

 

 

+ Recent posts