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

JINSUNG LEE·2021년 7월 20일
0
post-thumbnail

function solution(participant, completion) {

    participant.sort()
    completion.sort()
    
    for (let i = 0; i < participant.length; i++) {
        if(participant[i] !== completion[i]) {
           let result = participant[i]      
            return result;
        }
    }
    
}

이번 알고리즘은 입출력 예시만 보고선 "훗,, 넘나 쉽네 🤷‍♂️" 너무 얕보았다.

무식하게 그냥 한 배열 하나하나 비교를 하다 동명이인이라는 경우에 로직을 어떻게 구현해야할지 막혀버려

계속 문제를 분석하다 생각해보니 participantcompletion배열에 sort() 정렬하고

각각 하나씩 반복문으로 비교하여 undefiend가 나오면 완주하지 못한 선수로 판별이 가능해졌다.

오늘 문제로 교훈을 얻은건 쉽게 생각하지말고 "모든 문제를 깊게 분석하자" 이다.


모범답안


var solution=(_,$)=>_.find(_=>!$[_]--,$.map(_=>$[_]=($[_]|0)+1))

😨 😨 ...?

정규표현식인가,,,

이번 모범답안은 여러번 풀어보아도 도저히 이해가 안되는 것 같다.

해당 답안에 대한 사람들 반응도 엄청 뜨겁다..🔥 🔥 🔥

정규표현식은 항상 시간 복잡도가 낮은 관계로 효율성이 엄청 좋은 방법인거 같다.

profile
https://californialuv.github.io/Tech_Blog 이사 갔어용 🌎 🚀

0개의 댓글