알고리즘
[Programmers]완주하지 못한 선수(난이도:★★★)
BaekGyuHyeon
2022. 5. 16. 19:11
https://programmers.co.kr/learn/courses/30/lessons/42576
코딩테스트 연습 - 완주하지 못한 선수
수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수
programmers.co.kr
import java.util.Arrays;
class Solution {
int i = 0;
public String solution(String[] participant, String[] completion) {
return solutionB(participant,completion);
}
// 효율성은 개망
public String solutionA(String[] participant,String[] completion){
for(i = 0 ; i < participant.length;i++){
int pCount = Arrays.stream(participant).filter(e->e.eqauls(praticipant[i])).count();
int cCount = Arrays.stream(completion).filter(e->e.equals(participant[i])).count();
if(pCount != cCount) {
return participant[i];
};
}
return null;
}
// 정렬후 다른 이름이 나온 시점 반환
public String solutionB(String[] participant,String[] completion){
Arrays.sort(participant);
Arrays.sort(completion);
String answer = participant[participant.length-1];
for(int i = 0 ; i <participant.length-1; i++){
if(!participant[i].equals(completion[i])){
return participant[i];
}
}
return null;
}
}