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

2020. 6. 17. 20:24프로그래머스/LEVEL 1

import java.util.*;

class Solution {
    public String solution(String[] participant, String[] completion) {
        String answer = "";
        
        Arrays.sort(participant);
        Arrays.sort(completion);
        
        for(int i=0; i<completion.length; i++){
            if(!participant[i].equals(completion[i])){
                return participant[i];
            }
        }
        
        answer = participant[participant.length-1];
        return answer;
    }
}

1. 참가자와 완주자 배열을 모두 이름순으로 정렬시킨다.

2. 완주자의 배열을 돌면서 같은 인덱스에서의 참가자 배열과 비교한다.

3. 만약, 이름순으로 정렬된 두 배열중에 같은 인덱스에서 다른 값이 존재한다면 해당 참가자는 완주하지 못한 것이므로 바로 리턴해준다.

4. 완주자 목록을 전부 순회했음에도 리턴되지 않았다면 이름순으로 정렬했을때 가장 뒤에있는 참가자가 완주하지 못한 선수이다. 

5. 따라서 해당 참가자를 answer로 해준다.