문제
https://school.programmers.co.kr/learn/courses/30/lessons/138476
프로그래머스
SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
< 귤 고르기 >
문제 풀이 (Java)
import java.util.*;
class Solution {
public int solution(int k, int[] tangerine) {
int answer = 0;
HashMap<Integer, Integer> map = new HashMap<>();
for (int i = 0; i < tangerine.length; i++) {
if (!map.containsKey(tangerine[i])) {
map.put(tangerine[i], 1);
} else {
map.replace(tangerine[i], map.get(tangerine[i]) + 1);
}
}
ArrayList<Integer> list = new ArrayList<>(map.keySet());
Collections.sort(list, new Comparator<Integer>() {
@Override
public int compare(Integer o1, Integer o2) {
return map.get(o2) - map.get(o1);
}
});
for (int key : list) {
k -= map.get(key);
answer += 1;
if (k <= 0) {
break;
}
}
return answer;
}
}
HashMap을 사용해 귤 크기별로 개수를 구한다. HashMap을 value 기준 내림차순으로 정렬한 후 순서대로 귤을 고른다.

출처: 프로그래머스 코딩 테스트 연습,
https://school.programmers.co.kr/learn/challenges
'🌞Algorithm > 🔥programmers' 카테고리의 다른 글
| [programmers] 카펫 (0) | 2026.05.19 |
|---|---|
| [programmers] 멀리 뛰기 (0) | 2026.05.18 |
| [programmers] String, Date문 - SQL 고득점 Kit (0) | 2022.02.06 |
| [programmers] JOIN문 - SQL 고득점 Kit (1) | 2022.02.06 |
| [programmers] 가장 먼 노드 (0) | 2022.02.03 |