본문 바로가기
🔅코딩테스트 공부🔅/❗프로그래머스(Lv.2)

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

by 윤무무 2023. 3. 3.

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

 

프로그래머스

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

programmers.co.kr

 

1. 문제 해결 방법

 1. Counter 를 이용해 key 와 value 값을 구한다. (=> 귤의 크기에 따른 개수가 카운팅된다.)

 

2. list명.values() 를 출력하면 오름차순 정렬되기 때문에 reverse = True 로 내림차순 정렬한다.

 

3. 각 value 값을 하나씩 뽑으며 k보다 크거나 같으면 cnt 를 return 시키고, k보다 작으면 cnt를 1 증가시킨다.

 

 

2. 내가 작성한 코드
from collections import Counter

def solution(k, tangerine):
    tangerine = Counter(tangerine)
    result = 0 #상자에 담은 귤 개수
    cnt = 0 #상자에 담은 귤의 종류 수
    value = sorted(list(tangerine.values()),reverse=True)
    
    for i in value:
        result += i
        cnt+=1
        if result >= k: #상자에 담긴 귤이 k개보다 크거나 같으면 return
            return cnt

 

댓글