

다음과 같이 풀었다.
nums를 돌며 map에 종류 번호와 해당 번호가 나온 횟수를 저장한다.
1) 종류 번호가 nums 배열 크기 / 2 보다 크다면 -> nums 배열 크기 / 2만큼만 선택할 수 있다.
2) 작거나 같다면 -> 종류 번호 만큼 선택한다.
import java.util.*;
import java.io.*;
class Solution {
public int solution(int[] nums) {
int answer = 0;
HashMap<Integer, Integer> pokemon = new HashMap<>();
for (int num : nums) {
pokemon.put(num, pokemon.getOrDefault(num, 0) + 1);
}
if (pokemon.size() > nums.length / 2) {
answer = nums.length / 2;
} else {
answer = pokemon.size();
}
return answer;
}
}
'Languages > Java' 카테고리의 다른 글
[프로그래머스 고득점 Kit/Java] 전화번호 목록 (0) | 2025.03.29 |
---|---|
[BOJ/Java] #11279 최대 힙 - PriorityQueue (0) | 2025.03.24 |
[프로그래머스 고득점 Kit/Java] 완주하지 못한 선수 (0) | 2025.03.23 |
[BOJ 길라잡이/Java] 11일차 #5430 AC (0) | 2025.03.23 |
[BOJ 길라잡이/Java] 10일차 #1158 요세푸스 문제 (0) | 2025.03.23 |


다음과 같이 풀었다.
nums를 돌며 map에 종류 번호와 해당 번호가 나온 횟수를 저장한다.
1) 종류 번호가 nums 배열 크기 / 2 보다 크다면 -> nums 배열 크기 / 2만큼만 선택할 수 있다.
2) 작거나 같다면 -> 종류 번호 만큼 선택한다.
import java.util.*;
import java.io.*;
class Solution {
public int solution(int[] nums) {
int answer = 0;
HashMap<Integer, Integer> pokemon = new HashMap<>();
for (int num : nums) {
pokemon.put(num, pokemon.getOrDefault(num, 0) + 1);
}
if (pokemon.size() > nums.length / 2) {
answer = nums.length / 2;
} else {
answer = pokemon.size();
}
return answer;
}
}
'Languages > Java' 카테고리의 다른 글
[프로그래머스 고득점 Kit/Java] 전화번호 목록 (0) | 2025.03.29 |
---|---|
[BOJ/Java] #11279 최대 힙 - PriorityQueue (0) | 2025.03.24 |
[프로그래머스 고득점 Kit/Java] 완주하지 못한 선수 (0) | 2025.03.23 |
[BOJ 길라잡이/Java] 11일차 #5430 AC (0) | 2025.03.23 |
[BOJ 길라잡이/Java] 10일차 #1158 요세푸스 문제 (0) | 2025.03.23 |