
문제 : 귤 고르기
풀이 방법
해쉬맵으로 귤 종류가 몇개 있는지 분류하고
내림차순으로 정렬하는 리스트를 만든다
그리고 개수만큼 맞는지 확인
소스 코드
import java.util.*;
class Solution {
public int solution(int k, int[] tangerine) {
int answer = 0;
LinkedHashMap<Integer, Integer> map = new LinkedHashMap<>();
for (int i:tangerine) {
if(map.containsKey(i)) {
map.put(i, map.get(i)+1);
} else {
map.put(i, 1);
}
}
List<Map.Entry<Integer, Integer>> entryList = new LinkedList<>(map.entrySet());
entryList.sort(Map.Entry.<Integer, Integer>comparingByValue().reversed());
for(Map.Entry<Integer, Integer> m : entryList){
answer += 1;
k -= m.getValue();
if(k <= 0) break;
}
return answer;
}
}
/*
종류별 개수를 배열로 입력
내림차순 정렬
k개 만큼 위에서부터 맞는지 확인?
*/
'정리 전 게시글 > 공부 관련' 카테고리의 다른 글
| [프로그래머스 Level 2, Java] 삼각 달팽이 (0) | 2023.01.15 |
|---|---|
| [프로그래머스 Level 2, Java] 이진 변환 반복하기 (0) | 2023.01.15 |
| [프로그래머스 Level 1, Java] 크기가 작은 부분문자열 (0) | 2023.01.12 |
| Dodge : Avoid Balls 비주얼베이직 게임 만들기 공피하기 게임 (0) | 2022.12.22 |
| 이진탐색트리 검색 추가 삭제 (0) | 2022.12.07 |