반응형
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 언어로 풀어보았습니다.
반응형
'Web Developer's Story > PROGRAMMERS' 카테고리의 다른 글
[프로그래머스] Level 1. 두 정수 사이의 합 (JAVA) (0) | 2020.08.13 |
---|---|
[프로그래머스] Level 1. 제일 작은 수 제거하기 (JAVA) (0) | 2020.08.12 |
[프로그래머스] Level 1. 같은 숫자는 싫어 (JAVA) (0) | 2020.08.10 |
[프로그래머스] Level 1. 문자열 내 p와 y의 개수 (JAVA) (0) | 2020.08.09 |
[프로그래머스] Level 1. 가운데 글자 가져오기 (JAVA) (0) | 2020.08.06 |