[프로그래머스]138476번 귤고르기

Effy_ee·2024년 8월 30일
0

코딩테스트

목록 보기
117/118

https://school.programmers.co.kr/learn/courses/30/lessons/138476

그리디 문제로 볼 수 있다. 가장 수가 많은 귤의 종류부터 추가해준 뒤, 귤의 수가k 보다 많아지는 순간 break를 걸어주고 answer를 반환한다.

from collections import Counter

def solution(k, tangerine):
    answer = 0
    box = Counter(tangerine)  # 귤 종류별 수를 세기 위해 Counter 사용
    counts = sorted(box.values(), reverse=True)  # 귤의 수를 내림차순으로 정렬

    for count in counts:
        answer += 1  # 종류 수 증가
        k -= count  # 현재 종류의 귤 개수만큼 빼기
        if k <= 0:  # k가 0 이하가 되면 종료
            break

    return answer

0개의 댓글