본문 바로가기
알고리즘 스터디/[프로그래머스] 연습문제

[알고리즘] 완주하지 못한 선수 문제 풀이(자바스크립트 javascript)

by 제니운 2022. 7. 18.
728x90

 

(문제풀이 생각)

1. participant와 completion의 순서를 보면 다르다. 그래서 정렬을 해줘야 한다. // 생각지 못한 부분인데, 구글링 하다 아 그렇네 라고 깨달은 부분 ,,,ㅠ

2. participant와 completion의 차이는 딱 1개이니까, 둘이 비교해서 다른 것을 return 하면 된다.

 

👌 정렬하기 // .sort() 사용

 

participant.sort()

competion.sort()

 

👌 [] 의 i 를 비교해 줘야 하니까, 더 긴 participant  길이만큼 상승시켜주면 된다

 

for(let i = 0; i < participant.length; i++)

 

👌 participant 와 completion 비교하기!

participant 에서 completion 와 같지 않은 것을 산출하자.

 

paticipant[i] != completion[i] // 이렇게 하면 찾을 수 있다.

 

✅ 여기서 잠깐,,,!

 

지난 번에 ==, === 을 알았을 때,

== 은 같은 것, === 은 타입까지 비교한 것이었다!

 

똑같이 !=, !== 이건

!= 다른 것, !== 타입까지 비교한 것!

 

👌 위에서 구한 것을 대입해서, 만약 두 개가 다르면, 그걸 산출해라로 하면 된다

 

if(participant[i] != competion[i]){

     return participant[i];

}

 

 

✅ 최종 코드

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