🔅코딩테스트 공부🔅/❗프로그래머스(Lv.2)
[프로그래머스] Level2 귤 고르기(python)
윤무무
2023. 3. 3. 03:11
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