https://school.programmers.co.kr/learn/courses/30/lessons/138476
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
접근법 #1
### 풀이 1 dict 사용,
## 핵심 key
## a = dict(sorted(a.items(), key = lambda x:x[1], reverse = True))
def solution(k, tangerine):
answer = 0
dic = {}
for i in tangerine:
if i in dic:
dic[i] += 1
else:
dic[i] = 1
dic = dict(sorted(dic.items(), key = lambda x:x[1], reverse = True))
for i in dic:
if k <= 0:
return answer
k-=dic[i]
answer+=1
return answer
접근법 2
### 풀이 2 - Counter 이용
from collections import Counter
def solution(k, tangerine):
result = 0
answer = 0
temp = Counter(tangerine)
temp = temp.most_common()
for i in temp:
result += i[1]
answer += 1
if(result >= k):
return answer
728x90
'파이썬알고리즘' 카테고리의 다른 글
연속 부분 수열 합의 개수 (파이썬) (0) | 2024.10.15 |
---|---|
백준 2108 통계학 (파이썬) (0) | 2024.09.23 |
백준 2470 두 용액 (파이썬) (1) | 2024.08.28 |
백준 1931 회의실 배정 (파이썬) (0) | 2024.08.27 |
백준 20920 영단어 암기는 어려워 파이썬 (0) | 2024.08.26 |