https://programmers.co.kr/learn/courses/30/lessons/1845
문제 분석
- HashSet을 사용하여 중복된 종류의 숫자를 제거하여 추가한다.
- 가장 많은 종류의 폰켓몬을 구하고, 종류의 최대값은 N/2이기때문에 정답(answer)이 N/2보다 큰 경우 정답을 N/2로 변경한다.
문제 풀이
1. HashSet에 중복을 제거한 배열 원소를 추가한다.
2. 최대 개수는 N/2를 넘을 수 없기때문에 넘는 경우 N/2로 정답을 변경한다.
3. 정답을 출력한다.
import java.util.*;
class Solution {
public int solution(int[] nums) {
int answer = 0;
Set<Integer> set = new HashSet<>();
for(int i=0;i<nums.length;i++){
set.add(nums[i]);
}
answer = set.size();
if(answer > nums.length/2){
answer = nums.length/2;
}
return answer;
}
}
'Algorithm > programmers' 카테고리의 다른 글
programmers 모의고사 (0) | 2022.03.13 |
---|---|
programmers 체육복 (0) | 2022.03.13 |
programmers 실패율 (0) | 2022.03.13 |
programmers 약수의 개수와 덧셈 (0) | 2022.03.13 |
programmers 3진법 뒤집기 (0) | 2022.03.13 |