완주하지 못한 선수

» CordingTest

1단계

완주하지 못한 선수

  • 문제
    문제 설명 입출력 예

  • 내 풀이(결국 못품)
      function solution(participant, completion) {
          let answer = ''; // 완주하지 못한 선수 string
            
          let empty = []; // 완주한 선수들
          let result = []; // 완주 못한 선수 배열
            
          for(let i=0; i<participant.length; i++) {
              const whosName = participant.indexOf(completion[i]); // 완주한 선수가 있으면 0이상의 값이 나옴
                
              if(-1 < whosName) {
                  empty.push(participant[whosName]);
              } else {
                  result.push(completion[i-1]);
                  answer = result.join();
              }
          }
    
          return answer; // 완주하지 못한 선수
      }
    
  • 베스트 풀이
      function solution(participant, completion) {
          let answer = '';
    
          completion.sort(); // 완주자 정렬
          participant.sort(); // 전체 인원 정렬
    
          for(let i=0; i<completion.length+1; i++) { // 완주자가 전체 인원에서 한명 적음
              if(completion[i] != participant[i]) { // 정렬해놨으므로 같지 않으면 완주자가 아님
                  answer = participant[i];
                  break; // 답이 나왔으면 쓸데없는 반복이 더 일어나지 않게 끊어줌
              }
          }
    
          return answer;
      }
    

    출처: 네이버블로그