새소식

Problem solving/문제 풀이 - 2023.02.10

[파이썬] 프로그래머스 귤 고르기 풀이

  • -

문제 확인

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

나의 풀이

  • 귤 k개를 종류를 최소화하면서 구하려면, 많은 개수를 가진 종류부터 차례로 선택하면 된다.
  • 개수를 세기 위해서 Counter를 활용했다. 
# 귤 k 개 -> 서로 다른 종류 최소화!
# Counter 사용 후, 개수 기준 내림차순 정렬
from collections import Counter

def solution(k, tangerine):
    # 귤 종류 수
    tan_uniq = 0
    # 종류 별 개수 세기
    type_cnt = Counter(tangerine)
    type_cnt = sorted(type_cnt.values(), reverse = True)
    # 현재 귤의 개수
    tan_cnt = 0
    for cnt in type_cnt:
        tan_cnt += cnt
        tan_uniq += 1
        if tan_cnt >= k:
            break
        
    return tan_uniq
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.