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

흶·2021년 7월 18일

Algorithm

목록 보기
18/60

문제

프로그래머스>코딩테스트 연습>고득점 Kit>해시 : 완주하지 못한 선수 - https://programmers.co.kr/learn/courses/30/lessons/42576

풀이

단 한명의 선수를 제외하고 모두 마라톤을 완주했기 때문에, 그 '한명'만 구하면 되는 문제!

전체 선수 목록과 완주한 선수 목록을 각각 소팅한 후, for문으로 같은 인덱스의 값을 확인한다. 같은 인덱스에서 다른 값이 나오면, 전체 선수 목록의 해당 인덱스를 가진 선수가 완주하지 못했다는 걸 알 수 있다!

코드

import java.util.*;
class Solution {
    public String solution(String[] participant, String[] completion) {
        Arrays.sort(participant);
        Arrays.sort(completion);
        for (int i = 0; i < participant.length-1; i++) {
            if(!participant[i].equals(completion[i]))
                return participant[i];
        }
        return participant[participant.length-1];
    }
}

정리

✔ 알고리즘 분류 - 해시
✔ 난이도 - Level 1

🤦‍♀️ 메모

  • 프로그래머스>코딩테스트 연습>고득점 Kit>해시 에 있는 문제이다. 나는 소팅으로 풀었는데, 해시로 풀게 된다면 전체 선수의 이름이 같은 선수 수와 완주한 선수 수를 비교해서 풀이하면 될 것 같다!

참고 사이트

딱히 없음

profile
당근먹고 자라나는 개발자

0개의 댓글