[문제]
수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다.
마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수들의 이름이 담긴 배열 completion이 주어질 때,
완주하지 못한 선수의 이름을 return 하도록 solution 함수를 작성해주세요.
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
[풀이]
import java.util.Arrays;
class Solution {
public String solution(String[] participant, String[] completion) {
Arrays.sort(participant);
Arrays.sort(completion);
for(int i=0;i<completion.length;i++) {
if(participant[i].equals(completion[i])) continue;
return participant[i];
}
return participant[participant.length-1];
}
}
두 배열은 모두 같은 값을 가지고 있지만 participant 배열은 한 개의 값을 더 가지고 있다.
그래서 먼저 두 배열을 정렬해주었다.
그 후 두 배열을 비교하면 각 인덱스가 같을때 값이 다른 경우가 나오는데 그 값이 participant의 나머지 값이라는 것을 알 수 있다.
만약 배열이 끝나도록 participant의 나머지 값을 찾지 못하면, participant 배열의 마지막 인덱스 값이 나머지 값이다.

푸는 데는 총 10분 정도 소요됐다.
정확성과 효율성 모두 체크 완료! 그럼 오늘의 코테는 끄읏~! 😎
'👩🏻💻 코테' 카테고리의 다른 글
| 프로그래머스 Lv.1 : 숫자 문자열과 영단어 🅾️ (0) | 2024.03.25 |
|---|---|
| 프로그래머스 Lv.2 : 영어 끝말잇기 🅾️ (1) | 2024.03.24 |
| 프로그래머스 Lv.3 : 네트워크 🅾️ (1) | 2024.03.23 |
| 프로그래머스 Lv.1 : 최소직사각형 🅾️ (0) | 2024.03.22 |
| 백준 S1 2178 : 미로 탐색 🅾️ (0) | 2024.03.22 |