본문 바로가기
Algorithm/프로그래머스 문제 풀이

[Level 2] [python] 귤 고르기

by B_Tori 2022. 11. 24.

문제

파이썬 풀이

from collections import Counter

def solution(k, tangerine):
    cnt = Counter(tangerine)
    answer = 0
    box = 0
    for i in cnt.most_common() :
        box += i[1]
        answer += 1
        if box >= k :
            break
    return answer

Counter 클래스를 사용하여 문제를 해결하였다.

우선 Counter클래스를 통해 크기 별로 몇 개의 귤을 가지고 있는지 계산을 한다.

Counter클래스의 most_common() 메서드를 통해 귤 개수를 내림차순으로 정리한 리스트를 반복문으로 돌며

가장 많은 개수를 가진 귤부터 box에 넣어준다. (box변수는 현재 box안에 들어 있는 귤의 개수를 의미한다.)

해당 크기의 귤을 넣으면 answer(귤 크기 종류 수) 값을 1늘려주며

현재 박스에 들어있는 귤의 수가 k개를 도달하게 되면 반복문을 끝내고 answer을 반환한다.

댓글