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

2021. 7. 30. 16:57개발공부/알고리즘

비교적 쉬운 문제였지만 스코프의 이해가 부족해서인지 변수선언이나 리턴의 위치 문제로 자꾸 시간을 잡아먹었다.

오늘은 스코프를 다시 공부해봐야겠다.

 

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

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

programmers.co.kr

 

participant(참가자)리스트 중 completion(완주자)리스트에 없는 사람의 이름을 반환하면 되는 문제이다.

처음엔 sorting을 하지않고 이중 for문을 사용했지만 sort를 먼저해서 하나하나 비교하며 답을 찾는 편이 더 효율적이라 판단했다.

p와 c리스트 모두 동일한 순서의 배열로 정렬하여 같은 인덱스번호로 돌아가다가 서로 동일하지않은 이름이 발견되었을경우 그 값을 answer에 넣어준다. 

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

 

다른 사람들의 코드를 보는데 이게 무엇..

한줄짜리 코드 발견👀

띠용..

이렇게 간단하게 코드를 짤 수 있다니.. 멋찌다아