카테고리 없음

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

싯타마 2021. 3. 25. 19:49

1. 문제

수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다.

마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수들의 이름이 담긴 배열 completion이 주어질 때, 완주하지 못한 선수의 이름을 return 하도록 solution 함수를 작성해주세요.

출처: programmers.co.kr/learn/courses/30/lessons/42576?language=javascript

 

코딩테스트 연습 - 완주하지 못한 선수

수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수

programmers.co.kr

 

2. 코드

function solution(participant, completion) {
    var answer = '';
    let i = 0;
    
    participant.sort();
    completion.sort();
    
    for (i = 0; i < participant.length; i++) {
        if (participant[i] !== completion[i]){
            return answer = participant[i]
        }
    }
    return answer;
}

1) 먼저, 전체 참가자 배열인 participant 배열과 완주를 성공한 참가자의 배열인 completion 배열을 비교하기 위하여 오름차순으로 정렬한다.

 participant.sort();
 completion.sort();

2) 그 후 두 배열을 처음부터 배열의 총길이까지 비교하는 반복문을 만들고 일치하지 않는 값(= 마라톤 완주에 실패한 선수)이 나올 때 리턴할 수 있도록 if문으로 두 값이 일치하지 않을 때의 participant의 값을 리턴 

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

 

3. 배운 것

1) for문과 if문을 사용하여 두 배열을 비교하고 중복하지 않는 값을 찾아내는 법