[프로그래머스] 코딩테스트연습 > 해시 > 완주하지 못한 선수
알고리즘/javascript

[프로그래머스] 코딩테스트연습 > 해시 > 완주하지 못한 선수

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

 

코딩테스트 연습 - 완주하지 못한 선수

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

programmers.co.kr

 

 

function solution(participant, completion) {
    let parti = participant.sort()
    let comp = completion.sort()
    
    for(let i=0; i<participant.length; i++){
        if(parti[i] !== comp[i]){
            return parti[i]
        }
    }
}
  • 처음에 for 문 2개를 사용해서 구현했는데 O(n^2) 방식이라 효율성 측면에서 탈락.
  • O(n) 방식 혹은 O(nlogn) 방식으로 짜야 효율성 확보할 수 있음

array.sort([compareFunction]):

배열의 요소를 compareFunction 에 맞게 정렬 (default: 문자열 & 유니코드) 

반응형