해당문제는 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;
}
}
'코테 준비-문제풀기' 카테고리의 다른 글
프로그래머스 - 전화번호 목록 (자바/java) (0) | 2022.02.23 |
---|---|
프로그래머스 - 완주하지 못한 선수_해시맵(HashMap) 사용해 풀기 (0) | 2022.02.06 |
프로그래머스 - 그리디/ 큰 수 만들기/ 자바 /java (0) | 2020.12.01 |
프로그래머스 - dp / 등굣길 / 자바 java (0) | 2020.11.18 |
프로그래머스 - 그리디/체육복/java (0) | 2020.11.17 |