[프로그래머스 Lv.1 - Java] 완주하지 못한 선수
반응형

문제 설명

https://programmers.co.kr/learn/courses/30/lessons/42576

 

코딩테스트 연습 - 완주하지 못한 선수

수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수

programmers.co.kr


문제 풀이

import java.util.Arrays;

public class Maraton {
    public String solution(String[] participant, String[] completion) {
        Arrays.sort(participant);//내림 차순 정렬
        Arrays.sort(completion);
        int i;
        for (i = 0; i < completion.length; i++) {
            if (!participant[i].equals(completion[i])) { // 만약 참가자랑 완주자가 다르다면 완주하지 못한 참가자!
                return  participant[i];
            }
        }

        return participant[i];
    }

    public static void main(String[] args) {
        Maraton method = new Maraton();
        String[] participant = {"leo", "kiki", "eden"};
        String[] completion = {"kiki", "eden"};
        System.out.println(method.solution(participant, completion));
    }
}

완주하지 못한 선수가 단 한명뿐이기 때문에 정렬을 하여 반복문을 돌면서 해당 인덱스에 있는 완주자와 참가자가 다르다면 해당 인덱스 참가자는 완주하지 못한 것이다!! 

정렬을 사용하게 되면 동명이인이 있더라도 구분해낼 수 있다.

 

반응형