[프로그래머스] 귤 고르기(python)

Jinho Jang·2023년 4월 16일
0

문제

문제 설명

  • 숫자 배열이 주어질 때, 숫자의 종류를 적게 사용하여 길이 k 배열을 만들려고 한다.
  • 숫자 종류의 최솟값을 반환

풀이

  • 배열을 돌며 각 숫자의 개수를 카운트하고, 개수가 많은 숫자부터 카운트하며 k가 넘는지 체크
def solution(k, tangerine):
    tan_dict = {}
    for tan in tangerine:
        tan_dict[tan] = tan_dict.get(tan, 0) + 1       
    lst = sorted(tan_dict.items(), key = lambda x:-x[1])
    answer = 0
    cnt = 0
    for key, val in lst:
        cnt += val
        answer += 1
        if cnt>=k:
            break
    return answer

0개의 댓글