코테 준비-문제풀기

프로그래머스 완주하지 못한 선수 - java ver

FireStone 2021. 8. 29. 23:18

해당문제는 c++로 푼적은 있는데 자바로 푼적은 없어서 기억을 살릴겸 풀어봤다.

* 효율성 체크를 하는 문제기 때문에 무작정 완전탐색을 이용하면 안될 것 같다..

https://programmers.co.kr/learn/courses/30/lessons/42576?language=java 

 

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

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

programmers.co.kr

- 단순하게 참가자 배열과 완주자 배열을 정렬하고, 비교해 다른게 있으면 리턴하도록 했다.

* 참가자 배열의 크기가 더 크기때문에 ArrayIndexOutOfBoundsException 가 발생할 수 있다.

  -> 마지막 index 만 체크해주면 된다.

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