프로그래머스 LEVEL1 - 완주하지 못한 선수(JavaScript)
수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다.
마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수들의 이름이 담긴 배열 completion이 주어질 때, 완주하지 못한 선수의 이름을 return 하도록 solution 함수를 작성해주세요.
주어진 두 배열을 정렬 한 뒤 비교한다.
function solution(participant, completion) {
var answer = '';
participant = participant.sort();
completion = completion.sort();
for(var i in participant){
if(participant[i] != completion[i]){
answer = participant[i];
break;
}
}
return answer;
}
비교적 간단한 문제
하지만 향상된 for문 (var ... in ...) 형태는 성능 저하를 일으킬 수 있다는 정보를 알게되어 반복문을 수정했습니다.
또한 반복문 안에 break 구문 대신 바로 return을 해주어 코드를 간결하게 작성했습니다.
function solution(participant, completion) {
participant = participant.sort();
completion = completion.sort();
for(let i = 0; i < participant.length; i++) {
if(participant[i] != completion[i]){
return participant[i];
}
}
}