โฌ [Programmers] [Python] Level2_๊ทค ๊ณ ๋ฅด๊ธฐ
๋ฌธ์
https://school.programmers.co.kr/learn/courses/30/lessons/138476?language=python3
ํ๋ก๊ทธ๋๋จธ์ค
์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์ ๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์ ๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์.
programmers.co.kr
ํ์ด
# ํ๋ก๊ทธ๋๋จธ์ค 2๋จ๊ณ - ๊ทค ๊ณ ๋ฅด๊ธฐ
from collections import Counter
def solution(k, tangerine):
answer = 0
d = sorted(Counter(tangerine).items(), key = lambda x : -x[1])
for key, value in d:
if k <= 0:
break
k -= value
answer += 1
return answer
๋งจ ์ฒ์ ๋ฌธ์ ๋ฅผ ๋ดค์ ๋ defaultdict๋ฅผ ์ฌ์ฉํด์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ ค๊ณ ํ๋ค.
defaultdict๋ฅผ ์ฌ์ฉํ๋ฉด list๋ก ๋ค์ ๋ณํํด ์ค์ผํ๊ณ ๋ฒ๊ฑฐ๋ก์์ Counter ๋ฅผ ์ฌ์ฉํ์๋ค.
Key๋ฅผ ๊ทค์ ํฌ๊ธฐ, ๊ทค์ ํฌ๊ธฐ ๊ฐ์๋ฅผ value ๊ฐ์ผ๋ก ๊ฐ๋ ๋์ ๋๋ฆฌ๋ฅผ value ๊ธฐ์ค์ผ๋ก ๋ด๋ฆผ์ฐจ์ ์ ๋ ฌํ ํ
k ๊ฐ 0 ๋ณด๋ค ์๋ค๋ฉด ๋ฉ์ถ๊ณ ๊ทธ๋ ์ง ์๋ค๋ฉด k ์์ value ๊ฐ์ ๋นผ์ฃผ๊ณ ๋์ answer ๋ฅผ 1 ๋ํด์ค๋ค.
- lambda x : -x[1]์ ํด์ฃผ๋ฉด ๋ด๋ฆผ์ฐจ์ ์ ๋ ฌ์ด ๋๋ค. == sort(reverse=True)