Notice
Recent Posts
Recent Comments
Link
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Tags more
Archives
Today
Total
관리 메뉴

luke

[프로그래머스] - 완주하지 못한 선수 (Java/자바) 본문

알고리즘문제/프로그래머스(Java)

[프로그래머스] - 완주하지 못한 선수 (Java/자바)

luke-king 2025. 4. 18. 17:30

문제 : https://school.programmers.co.kr/learn/courses/30/lessons/42576

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

 

 

 

 

 

 

 

문제.


 

 

 

 

 

 

 

 

풀이.


import java.util.*;
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])){
                return participant[i];
            }
        }
        return participant[participant.length - 1];
    }
}

이번 문제는 프로그래머스 "완주하지 못한 선수" 문제다.

해시를 사용해서 풀 수 있지만 필자는 사용하지 않고 풀어 봤다. 하지만 해시를 사용해서 풀이도 올리겠다..!

그럼 풀이해보겠다.

 

1. participant, completion 값들을 정렬해서 비교할 수 있게 sort() 함수를 사용한다.

 

2. 정렬된 배열들은 for문을 돌려 participant값과 completion값을 비교해 완주하지 못한 선수 값을 출력한다.

 

3. 마지막 participant [participant.length - 1]; 값은 정렬된 값이 마지막까지 안 나왔을 때 출력 해주는 값이다.