해시를 써서 풀려고 했지만 도저히 생각이 나지 않아 sort로 풀었다. 그래서 맞게 푼건지 모르겠다.
사실 sort로 초반에 풀려고 했었는데 런타임 에러가 나 다시 고민했는데 해결이 되었다. 다음부터는 틀린풀이도 같이 적어놓아야겠다. sort로 풀면 로직은 간단하다.
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;
}
}
}
해시로 푼 문제를 보려했는데 대부분이 sort로 풀었다. 내 풀이와 너무 똑같았다.
function solution(participant, completion) {
participant.sort();
completion.sort();
for (let i in participant) {
if (participant[i] !== completion[i]) return participant[i];
}
}
let i = 0; i < participant.length; i++
를 쓰지않고 for...in을 사용하였다. 하지만 for in을 사용하게 되면 반복할 때마다 재선언을 하므로 비효율적이다.
for in을 object가 아닌 array도 사용할 수 있다는 점을 알았지만 크게 쓸모있을 것 같진 않다.