반응형
문제 설명
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));
}
}

완주하지 못한 선수가 단 한명뿐이기 때문에 정렬을 하여 반복문을 돌면서 해당 인덱스에 있는 완주자와 참가자가 다르다면 해당 인덱스 참가자는 완주하지 못한 것이다!!
정렬을 사용하게 되면 동명이인이 있더라도 구분해낼 수 있다.
반응형
'코테풀이' 카테고리의 다른 글
| [프로그래머스 Lv.2 - Java] 프린터 (0) | 2022.02.15 |
|---|---|
| [프로그래머스 Lv.2 - Java] 기능 개발 (0) | 2022.02.15 |
| [프로그래머스 Lv.1 - Java] 수박수박수박수박수박수? (0) | 2021.11.10 |
| [프로그래머스 Lv.1 - Java] 서울에서 김서방 찾기 (0) | 2021.11.10 |
| [프로그래머스 Lv.1 - Java] 최대공약수와 최소공배수 (0) | 2021.11.10 |