일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- java
- PYTHON
- 6730
- 파이썬
- 장고
- sloved.ac
- SWEA
- 사용자정의필터
- programmers
- 25379
- 20006
- 11688
- 1342
- 프로그래머스
- 자바
- 24511
- 백준
- pccp
- 15965
- sovled.ac
- Django
- PS
- Algorithm
- solved.ac
- 2866
- 알고리즘
- 23971
- 라이브러리
- 17087
- 9081
Archives
- Today
- Total
코깽이의 코딩일기
[ 프로그래머스 / JAVA / Level 2 ] 귤 고르기 본문
반응형
제출한 코드
import java.util.*;
class Solution {
public int solution(int k, int[] tangerine) {
Map<Integer, Integer> map = new HashMap<>();
int answer = 0;
for(int key : tangerine){
map.put(key, map.getOrDefault(key, 0) + 1);
}
Integer[] data = new Integer[map.size()];
int idx= 0;
for(int value : map.values()){
data[idx++] = value;
}
idx = 0;
Arrays.sort(data, Collections.reverseOrder());
while(k > 0){
k -= data[idx++];
answer++;
}
return answer;
}
}
생각한 로직
1. HashMap을 이용한 특정 key값들의 빈도수 저장
2. 역순 정렬 메서드 사용을 위해 int[]가 아닌 Integer[]에 저장
3. k개 만큼 귤을 고르기만 하면 되기에 0번 인덱스부터 접근해서 k를 채워준다.
반응형
'PS > 프로그래머스' 카테고리의 다른 글
[ 프로그래머스 / JAVA / Level 2 ] 전력망을 둘로 나누기 (0) | 2024.06.13 |
---|---|
[ 프로그래머스 / JAVA / Level 1 ] [PCCP 기출문제] 1번 / 붕대 감기 (0) | 2024.06.13 |
[ 프로그래머스 / JAVA / Level 2 ] 점프와 순간 이동 (0) | 2024.06.08 |
[ 프로그래머스 / JAVA / Level 2 ] 짝지어 제거하기 (0) | 2024.05.30 |
[ 프로그래머스 / JAVA / Level 2 ] 다음 큰 숫자 (1) | 2024.05.30 |