티스토리 뷰

 

 

완주하지 못한 선수를 찾는 문제는 입출력 예를 보면 간단히 구현 가능하다. 완주하지 못한 사람은 1명뿐이고 partitiparticipant 배열에서 completion를 제외하면 쉽게 답이 나오지만, 미리 정렬을 해야 하는 함정이 있다. 정렬이 선행되지 않고 2중 for문으로만 해결하려다 보면 테스트는 통과되지만 효율성(성능) 채점에서 실패가 발생한다.

import java.util.Arrays;

class Solution {
    public String solution(String[] participant, String[] completion) {

        String answer = "";

        int pLength = participant.length;
        int cLength = completion.length;

        //참가자, 완주자 정렬
        Arrays.sort(participant);
        Arrays.sort(completion);

        for (int i=0; i<pLength; i++) {
            if (i<cLength && !participant[i].equals(completion[i])) {
                //서로 이름이 다른 경우
                answer = participant[i];
                break;
            } else if (i+1 == pLength) {
                //마지막 인덱스에 완주하지 못한 사람이 있는 경우
                answer = participant[i];
                break;
            }
        }

        return answer;
    }
}

 

'프로그래밍 > 프로그래머스' 카테고리의 다른 글

[프로그래머스] K번째수  (0) 2019.10.12
[프로그래머스] 2016년  (0) 2019.10.05
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함