[문제 풀이] 귤 고르기 LV 2.

SEUNGJUN·2024년 4월 1일
0

Data Structure & Algorithm

목록 보기
15/20

요구사항


문제 해결

def solution(k, tangerine):
    tangerineObject = {}
    kinds = 0
    for i in tangerine:
        if tangerineObject.get(i) is None:
            tangerineObject[i] = 0
        tangerineObject[i] += 1
    tangerineObject = sorted(tangerineObject.items(), key=lambda x: x[1], reverse=True)
    for item in tangerineObject:
        k = k - item[1]
        kinds += 1
        if k <= 0:
            break
    return kinds
  • 귤의 종류를 최소화 하기 위해서 Object를 이용해서 귤의 중복 개수를 찾고 순차적으로 sort를 한다.
  • [(3, 2), (2, 2), (5, 2), (1, 1), (4, 1)]
  • 이때 순차적으로 귤의 개수만큼 k에서 빼고 만약 k의 값이 0보다 작거나 같아지면 더이상 귤을 꺼낼수 없으므로 그만큼 개수가 최소값이 되는 것 이다.
profile
RECORD DEVELOPER

0개의 댓글