본문 바로가기

ps

해쉬-완주하지 못한 선수

@ 실패한 코드

다음의 코드는 실패한 경우이다. 동명이인의 경우에는 해쉬에 저장하면 hashset의 특성상 중복을 저장하지 않기 때문에 동명이인이 후보자와 완주자에 동일하게 있음에도 완주자로 확인을 하지 못한다.

실패 테스트 케이스

participant

["mislav", "stanko", "mislav", "ana", "ana"]

completion

["stanko", "ana", "mislav", "mislav"]

answer

"ana"

import java.util.*;

class Solution {
    public String solution(String[] participant, String[] completion) {
        HashSet<String> hash = new HashSet<String>();
        if(participant.length -1 != completion.length){
            return null;
        }
        for(String name : completion){
            hash.add(name);
        }
        for(String name : participant){
            if(!hash.contains(name)){
                return name;
            }
            else{
                hash.remove(name);
            }
        }
        return null;            
    }
}

@ 성공한 코드

 

'ps' 카테고리의 다른 글

[백준] 10775 공항  (0) 2023.01.11
[백준] 1890 점프 JAVA 정답 코드  (0) 2022.06.07
[알고리즘] 이분탐색  (0) 2021.08.10
LIS 최장 증가 수열  (0) 2021.06.30
소수 만들기  (0) 2021.06.24