T_era

[JAVA] 해시 : 포켓몬 본문

Programing/Programers

[JAVA] 해시 : 포켓몬

블스뜸 2025. 4. 14. 13:33

문제내용

HashSet을 통해 모든 번호를 저장하되 중복은 없도록 하는 방법으로 구현해봤다

HashSet<Integer> hash = new HashSet<>();
for(Integer num : nums){
	hash.add(num);
}


문제에서는 기본적으로 전체데이터의 절반만큼을 가져갈 수 있도록 하였는데
가장 다양한 종류를 가져갈 수 있는 마리수를 반환하라 하였으니
아래 코드로 최대치는 절반이지만 현재 데이터의 개수(HashSet의 데이터 개수)가 그보다 작으면 바꾸도록 구현했다

int max = nums.length/2;
if(hash.size() < max){
	answer = hash.size();
}else{
	answer = max;
}



전체코드

import java.util.HashSet;

class Solution {
    public int solution(int[] nums) {
        int answer = 0;
        HashSet<Integer> hash = new HashSet<>();
        // 모든 번호를 저장
        for(Integer num : nums){
            hash.add(num);
        }
        // 최대로 가져갈 수 있는 포켓몬 수
        int max = nums.length/2;
        if(hash.size() < max){
            answer = hash.size();
        }else{
            answer = max;
        }

        return answer;
    }
}

 

'Programing > Programers' 카테고리의 다른 글

[JAVA] 스택 : 같은 숫자는 싫어  (0) 2025.04.14
[JAVA] 해시 : 베스트앨범  (1) 2025.04.14
[JAVA] 해시 : 의상  (0) 2025.04.14
[JAVA] 해시 : 전화번호 목록  (0) 2025.04.14
[JAVA] 해시 : 완주하지 못한 선수  (0) 2025.04.14