문제
https://school.programmers.co.kr/learn/courses/30/lessons/1845
프로그래머스
SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
< 폰켓몬 >
문제 풀이 (Java)
import java.util.*;
class Solution {
public int solution(int[] nums) {
int answer = 0;
HashMap<Integer, Integer> map = new HashMap<>();
for (int i = 0; i < nums.length; i++) {
if (map.containsKey(nums[i])) {
map.replace(nums[i], map.get(nums[i]) + 1);
} else {
map.put(nums[i], 1);
}
}
if (nums.length / 2 <= map.size()) {
answer = nums.length / 2;
} else {
answer = map.size();
}
return answer;
}
}
HashMap을 사용해서 폰켓몬의 종류와 개수를 구한다. HashMap의 크기가 N/2 이상이라면 최대 N/2 종류를 가질 수 있고, N/2보다 작다면 HashMap의 크기만큼 종류를 가질 수 있다.

출처: 프로그래머스 코딩 테스트 연습,
https://school.programmers.co.kr/learn/challenges
'🌞Algorithm > 🔥programmers' 카테고리의 다른 글
| [programmers] 미로 탈출 (0) | 2026.07.01 |
|---|---|
| [programmers] 숫자 변환하기 (0) | 2026.06.30 |
| [programmers] 할인 행사 (0) | 2026.06.29 |
| [programmers] 롤케이크 자르기 (0) | 2026.06.26 |
| [programmers] 숫자 짝꿍 (0) | 2026.06.25 |