ALGORITHM/PROGRAMMERS
[프로그래머스] 폰켓몬 (찾아라 프로그래밍 마에스터)
0298
2021. 7. 15. 20:25
https://programmers.co.kr/learn/courses/30/lessons/1845
코딩테스트 연습 - 폰켓몬
당신은 폰켓몬을 잡기 위한 오랜 여행 끝에, 홍 박사님의 연구실에 도착했습니다. 홍 박사님은 당신에게 자신의 연구실에 있는 총 N 마리의 폰켓몬 중에서 N/2마리를 가져가도 좋다고 했습니다.
programmers.co.kr
2021-07-15
|
1
2
3
4
5
6
7
8
9
10
11
12
13
|
import java.util.HashSet;
class Solution {
public int solution(int[] nums) {
int answer = 0;
HashSet<Integer> set = new HashSet<>();
for (int num : nums) set.add(num);
answer = Math.min(set.size(), nums.length / 2);
return answer;
}
}
|
cs |
#문제풀이
1. 중복제거를 한다. (HashSet)
2. 1) 중복제거 후 중복이 제거 된 포켓몬의 수 <= N/2 인 경우, 답은 중복이 제거 된 포켓몬의 수
2) 중복제거 후 중복이 제거 된 포켓몬의 수 > N/2 인 경우, 답은 N/2
즉, 둘(중복이 제거 된 포켓몬의 수와 N/2) 중 최소 값 리턴 하면 된다.