<링크>
https://school.programmers.co.kr/learn/courses/30/lessons/42576
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
<문제>
- 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다.
- 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수들의 이름이 담긴 배열 completion이 주어질 때, 완주하지 못한 선수의 이름을 return 하도록 solution 함수를 작성해주세요.
<제한사항>
- 마라톤 경기에 참여한 선수의 수는 1명 이상 100,000명 이하입니다.
- completion의 길이는 participant의 길이보다 1 작습니다.
- 참가자의 이름은 1개 이상 20개 이하의 알파벳 소문자로 이루어져 있습니다.
- 참가자 중에는 동명이인이 있을 수 있습니다.
<입력 및 출력>

<고려사항>
1. 카테고리가 해시, 큐인데.. 둘다 안썼다.
2. 동명이인의 경우를 따져야한다!! 안그러면 틀려요 ㅠㅠ
<풀이 - Java>
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;
} else {
// 같지 않으면 그녀석 꺼내주세요 당신은 완주 못함 ㅠ
return participant[i];
}
}
// 근데 다돌았는데 return이 안되면 마지막 사람이 도착못한거겠징?
return participant[participant.length - 1];
}
}
'알고리즘 > 프로그래머스' 카테고리의 다른 글
<프로그래머스> 기능개발 (0) | 2024.08.22 |
---|---|
<프로그래머스> 카드 뭉치 (0) | 2024.08.18 |
<프로그래머스> 표 편집 (9) | 2024.08.15 |
<프로그래머스> 주식가격 (0) | 2024.08.15 |
<프로그래머스> 짝지어 제거하기 (0) | 2024.08.15 |