https://school.programmers.co.kr/learn/courses/30/lessons/138476
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
최소의 종류로 팔려면 가장 개수가 많은 종류부터 차례대로 팔면 될 것이다.
귤 종류마다 개수를 구하고 내림차순 정렬하면 된다.
import java.util.*;
class Solution {
public int solution(int k, int[] tangerine) {
int answer = 0;
Arrays.sort(tangerine);
List<Integer> list = new LinkedList<>();
int cnt = 0;
for (int i = 0; i < tangerine.length; i++) {
for (int j = i; j < tangerine.length; j++) {
if (tangerine[i] == tangerine[j]) {
cnt++;
if(j == tangerine.length - 1){
list.add(cnt);
i = tangerine.length;
break;
}
} else {
i = j - 1;
list.add(cnt);
cnt = 0;
break;
}
}
}
Collections.sort(list, Collections.reverseOrder());
for(Integer i : list) {
if(k > 0) {
k = k - i;
answer++;
} else break;
}
return answer;
}
}
'알고리즘 > Lv2. 프로그래머스' 카테고리의 다른 글
[프로그래머스]디펜스게임 -JAVA (2) | 2024.09.04 |
---|---|
[프로그래머스]무인도 여행 -JAVA (4) | 2024.09.04 |
[프로그래머스] 점프와 순간 이동 -JAVA (0) | 2024.08.20 |
[프로그래머스] 미로 탈출 -JAVA (0) | 2024.08.12 |
[프로그래머스]의상 -JAVA (0) | 2024.08.09 |