문제를 보고 생각을 많이 했다.
계속 읽다 보니 중복을 제거하고 두 값 중 최솟값을 리턴하면 된다는 걸 깨닫고 쉽게 풀렸다.
문제가 어렵다기 보단 풀이 아이디어를 떠올리는 것이 어려웠다.
최종 코드
import java.util.HashSet;
class Solution {
public int solution(int[] nums) {
int answer = 0;
int max = nums.length / 2;
// 중복을 제거하기 위해 해시셋에 넣기
HashSet set = new HashSet();
for(int i : nums) {
set.add(i);
}
// 두 값중 최소값을 리턴
if(set.size() > max) {
answer = max;
}
else {
answer = set.size();
}
return answer;
}
}
'코딩 테스트' 카테고리의 다른 글
(Java) 프로그래머스 크레인 인형뽑기 게임 (0) | 2021.12.01 |
---|---|
(Java) 프로그래머스 숫자 문자열과 영단어 (0) | 2021.11.27 |
(Java) 프로그래머스 실패율 (0) | 2021.11.23 |
(Java) 프로그래머스 약수의 개수와 덧셈 (0) | 2021.11.20 |
(Java) 프로그래머스 3진법 뒤집기 (0) | 2021.11.15 |