풀이
N개의 과일에 대해 1원당 포만감이 많은 과일을 최대한 K만큼 구할 때 최대 포만감을 구하는 문제다.
입력형식은 과열의 가격 P와 포만감 C로 주어지며,
1원당 포만감은 C / P로 구할 수 있다.
정렬을 위해 1원당 포만감을 첫 번째 요소로 두고, 최대 몇번 먹을 수 있는지 P를 두 번째 요소로 저장해주자.
C / P 가 높은 과일을 우선적으로 구매하는 것이 이득이기 때문에, DESC 정렬을 해준 후 탐색을 진행하자.
만약 남은 K가 P 이상이라면(한 과일을 전부 구매할 수 있다면) 원래 과일 한 개의 포만감 만큼 계산해주면 된다.
남은 K가 부족해 한 개의 과일을 전부 구매하지 못한다면, K개의 조각(fruit_slice)만 구매해주자.
위 과정을 거쳐 K가 0이라면 탐색을 중단하고 그렇지 않다면 다음 과일로 넘어간다.
정수형으로 결과를 출력해주자.
출처
'PS' 카테고리의 다른 글
[구름톤 챌린지] 17일차 - 통신망 분석 (0) | 2023.09.10 |
---|---|
[구름톤 챌린지] 16일차 - 연합 [Python] (0) | 2023.09.06 |
[구름톤 챌린지] 14일차 - 작은 노드 [Python] (0) | 2023.08.31 |
[구름톤 챌린지] 13일차 - 발전기 (2) [Python] (0) | 2023.08.31 |
[구름톤 챌린지] 12일차 - 발전기 [Python] (0) | 2023.08.29 |