
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;
}
}
}
이번 알고리즘은 입출력 예시만 보고선 "훗,, 넘나 쉽네 🤷♂️" 너무 얕보았다.
무식하게 그냥 한 배열 하나하나 비교를 하다 동명이인이라는 경우에 로직을 어떻게 구현해야할지 막혀버려
계속 문제를 분석하다 생각해보니 participant와 completion배열에 sort() 정렬하고
각각 하나씩 반복문으로 비교하여 undefiend가 나오면 완주하지 못한 선수로 판별이 가능해졌다.
오늘 문제로 교훈을 얻은건 쉽게 생각하지말고 "모든 문제를 깊게 분석하자" 이다.
var solution=(_,$)=>_.find(_=>!$[_]--,$.map(_=>$[_]=($[_]|0)+1))
😨 😨 ...?
정규표현식인가,,,
이번 모범답안은 여러번 풀어보아도 도저히 이해가 안되는 것 같다.
해당 답안에 대한 사람들 반응도 엄청 뜨겁다..🔥 🔥 🔥
정규표현식은 항상 시간 복잡도가 낮은 관계로 효율성이 엄청 좋은 방법인거 같다.