링크
function solution(participant, completion) {
let list = [...participant]
completion.forEach(p => {
const index = list.indexOf(p)
if (index !== -1) {
list.splice(index, 1)
}
})
return list[0]
}
문제풀이 생각
- 완주 리스트에서 한 명씩 이름을 가져온다.
- 가져온 이름으로 전체 리스트에서 같은 이름을 찾는다각
- 이름을 찾으면 전체 리스트에서 해당 이름을 제거한다.
- 완주 리스트를 한 번 다 돌고나서 전체 리스트에 남아있는 하나의 이름을 반환한다.
다른 사람의 풀이
function solution(participant, completion) {
participant.sort()
completion.sort()
return participant.find((v, i) => participant[i] !== completion[i])
}
알게된 점
- 배열을 먼저 정렬 후 찾는 것이 더 속도가 빠르다.
- 다른 사람이 만든 코드가 더 좋다.