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

지윤·2023년 1월 27일
0

프로그래머스

목록 보기
49/69

문제

풀이

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

처음에 participant.filter(e => completion.includes(e));만 생각했다가 개고생한 문제...^^... 아니.. includes()왜 안되냐고..!! 하면서 그것만 생각하다가 문제를 다시 봤는데 단 한명만 완주 못한다길래 그냥 for문으로 돌려서 배열 인덱스들 비교하면서 들어가있지 않은 참가자들 return해줬는데 되더라..!...ㅎㅎ..
그래서 includes는 왜 안되나 찾아봤더니,

  • 동명이인이 있고, (ex. 참가자: ["mislav", "stanko", "mislav", "ana"])
  • 그 중 하나만 들어왔을때 (ex. 완주: ["stanko", "ana", "mislav"] )
  • includes를 쓰면 mislav는 둘다 완주 한 것처럼 포함시켜버리더라..ㅠ

예를 들어서 성이 '김'씨인 사람을 찾으라고 했는데, includes("김")을 쓰면 잘생김(성이 잘, 이름이 생김) 이란 것도 포함되어서 찾아진다. 뭐.. 여기에 어울리는 예는 아닌것 같은데 ㅠ 아무튼.. includes()함수에 대해 더 배울 수 있었다.

profile
방금 태어난 개발자

0개의 댓글