T_era
[JAVA] 해시 : 포켓몬 본문
문제내용

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 |