원본 : https://school.programmers.co.kr/learn/courses/30/lessons/138476
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
풀이
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
class Solution {
public int solution(int k, int[] tangerine) {
int answer = 0;
Map<Integer, Integer> sizeAndCntMap = new HashMap<>();
for (int size : tangerine) {
if (sizeAndCntMap.containsKey(size)) {
sizeAndCntMap.replace(size, sizeAndCntMap.get(size) + 1);
} else {
sizeAndCntMap.put(size, 1);
}
}
List<Integer> cntList = sizeAndCntMap.values().parallelStream().sorted((o1, o2) -> o2 - o1).collect(Collectors.toList());
int cntSum = 0;
for (int cnt : cntList) {
answer++;
cntSum += cnt;
if (cntSum >= k) {
break;
}
}
return answer;
}
}
숫자 카드 나누기 (연습문제) (0) | 2022.12.12 |
---|---|
디펜스 게임 (연습문제) (0) | 2022.12.12 |
점 찍기 (연습문제) (0) | 2022.12.09 |
명예의 전당 (1) (연습문제) (0) | 2022.12.09 |
가장 가까운 같은 글자 (연습문제) (0) | 2022.12.09 |
댓글 영역