프로그래머스 연습문제
- Lv 2. 귤 고르기 (Python)
https://school.programmers.co.kr/learn/courses/30/lessons/138476
def solution(k, tangerine):
answer = 0
tangerine = sorted(tangerine)
tan_dict = dict()
# 딕셔너리 채우기
for i in tangerine:
if(tan_dict.get(i) == None):
tan_dict[i] = 0
tan_dict[i] += 1
tan_dict_sorted = sorted(tan_dict.values(), reverse=True) # 귤의 개수를 기준으로 내림차순 정렬하기
print(tan_dict_sorted)
for t in tan_dict_sorted:
if (k <= 0):
break
k -= t
answer += 1
return answer
count()
를 썼는데 시간초과가 났다.count()
는 시간을 많이 잡아먹는 함수 !!이거 보고 그제서야 Counter()
가 생각났다… 후 또 까먹었다 … 꼭 다시 익히기 ! ! !
import collections
def solution(k, tangerine):
answer = 0
cnt = collections.Counter(tangerine)
for v in sorted(cnt.values(), reverse = True):
k -= v
answer += 1
if k <= 0:
break
return answer