취업 및 이직 준비/코딩테스트 준비
프로그래머스 - (폰켓몬) - 자바 - 코딩테스트연습
code2772
2023. 3. 22. 10:35
728x90
반응형
import java.util.*;
class Solution {
public int solution(int[] nums) {
int answer = 0;
int min = nums.length/2;
HashSet<Integer> set = new HashSet<>();
//중복을 없에기 위해 set 사용
// Set은 객체를 중복해서 저장할 수 없고 하나의 null 값만 저장할 수 있다.
for (int n : nums){
set.add(n);
}
// HashSet의 크기는 size()를 이용
if(min >= set.size()) answer = set.size();
else answer = min;
// 크기만 나오면 되기 때문에 그냥 사이즈를 계산
return answer;
}
}
HashSet : 중복을 없에기 위해 set 사용, Set은 객체를 중복해서 저장할 수 없고 하나의 null 값만 저장할 수 있다.
HashSet<Integer> set = new HashSet<>(); : set을 사용하기 위해 선언
1. 최소로 선택할 수 있도록 min.length/2 를 선언 6개면 3개 처럼
2. HashSet 을 이용하여 중복을 제거하기 위해 HashSet set = new HashSet<>() 선언
3. for문을 돌려 중복을 제거
4. 최소 수보다 해쉬셋 사이즈가 적으면 헤쉬셋을 반환
5. 아니면 최소수를 반환하여 문제를 품
반응형