[ 목차 ]
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. 아니면 최소수를 반환하여 문제를 품
반응형
'메모장 > 코딩테스트 준비' 카테고리의 다른 글
프로그래머스 - 같은 숫자는 싫어 - 자바 - 코딩테스트 준비 (0) | 2023.03.28 |
---|---|
프로그래머스 - 완주하지 못한 선수 - 자바 - 코딩테스트 준비 (0) | 2023.03.23 |
프로그래머스 자바 (옹알이1) 코딩테스트 문제 (0) | 2023.03.21 |
프로그래머스 자바 (배열의 유사도) 코딩테스트 문제 (0) | 2023.03.20 |
프로그래머스 자바 (n 의 배수 고르기) 코딩테스트 문제 (0) | 2023.03.19 |