반응형

1. 문제 설명

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

- 마라톤에 참여한 선수들의 이름이 담긴 배열 participant완주한 선수들의 이름이 담긴 배열 completion이 주어질 때, 완주하지 못한 선수의 이름을 return 하도록 solution 함수를 작성해주세요.

 

 

2. 제한사항

- 마라톤 경기에 참여한 선수의 수는 1명 이상 100,000명 이하입니다.

- completion의 길이는 participant의 길이보다 1 작습니다.

- 참가자의 이름은 1개 이상 20개 이하의 알파벳 소문자로 이루어져 있습니다.

- 참가자 중에는 동명이인이 있을 수 있습니다.

 

 

3. 입출력 예

 

participant completion return
["leo","kiki","eden"] ["eden","kiki"] "leo"
["marina","josipa","nikola","vinko","filipa"] ["josipa","filipa","marina","nikola"] "vinko"
["mislav","stanko","mislav","ana"] ["stanko","ana","mislav"] "mislav"

 

 

4. 문제 풀이 코드

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]) ) {
            
        	    answer = participant[i];
        	    return answer;
                
        	} else {
            
                    answer = participant[i+1];
                
            }
            
        }
        
        return answer;
        
    }
    
}

 

- Arrays.sort() 함수를 사용하여 participant와 completion 배열을 정렬했습니다.

- 정렬한 것을 가지고 비교하여 같지 않은 것이 발견되었을 경우, return answer; 하도록 코드를 짰습니다.

 

 

 


이상으로 프로그래머스 Level 1. 완주하지 못한 선수 문제를 JAVA 언어로 풀어보았습니다.


 

반응형