[210729 TIL] Python

Choi Rimยท2021๋…„ 7์›” 29์ผ
0

Python

๋ชฉ๋ก ๋ณด๊ธฐ
19/20
post-thumbnail
def top_k(nums, k):
    # ์—ฌ๊ธฐ์— ์ฝ”๋“œ๋ฅผ ์ž…๋ ฅํ•ด์ฃผ์„ธ์š”
  dict = {}
  for i in set(nums):
    dict[i] = nums.count(i)
  dict = sorted(dict.items(), key=lambda x: x[1], reverse=True)
  q = []
  for i in dict[:k]:
    q.append(i[0])
  return q
  • nums์—๋Š” ์ˆซ์ž ๋ฆฌ์ŠคํŠธ๊ฐ€ ๋“ค์–ด์˜ค๊ณ  k์—๋Š” ์ˆซ์ž๊ฐ€ ๋“ค์–ด์˜จ๋‹ค.
    • nums์—๋Š” [1, 1, 1, 2, 2, 3] ์ด๋ผ๋Š” ๋ฆฌ์ŠคํŠธ๊ฐ€ ๋“ค์–ด์˜ค๊ณ  k์—๋Š” 2๋ผ๋Š” ์ˆซ์ž๊ฐ€ ๋“ค์–ด์˜จ๋‹ค๊ณ  ์น˜์ž.
  • ๋นˆ ๋”•์…”๋„ˆ๋ฆฌ dict๋ฅผ ๋งŒ๋“ ๋‹ค.
  • ์ˆซ์ž ๋ฆฌ์ŠคํŠธ nums๋ฅผ set์œผ๋กœ ๋งŒ๋“ค์–ด ์ค‘๋ณต๋˜๋Š” ์ˆซ์ž๋ฅผ ์ œ๊ฑฐํ•œ๋‹ค.
    • set์œผ๋กœ ๋ฆฌ์ŠคํŠธ nums์˜ ์ค‘๋ณต๋˜๋Š” ์ˆซ์ž๋ฅผ ์ œ๊ฑฐํ•˜๋ฉด ์›์†Œ์˜ ์ˆซ์ž๋งŒํผ dict์•ˆ์— ๋”•์…”๋„ˆ๋ฆฌ ํ‚ค์™€ ํ‚ค๊ฐ’์„ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ํ‚ค๋Š” ์ค‘๋ณต๋˜์ง€ ์•Š๋Š” ์ˆซ์ž, ํ‚ค ๊ฐ’์€ ๋ฆฌ์ŠคํŠธ์—์„œ ์ˆซ์ž์˜ ๊ฐœ์ˆ˜๋ฅผ ์„ผ ๊ฐ’์„ ๋„ฃ๋Š”๋‹ค
>>> dict
{1: 3, 2: 2, 3: 1}
  • ์ด๋ ‡๊ฒŒ ์ƒ์„ฑ๋œ ๋”•์…”๋„ˆ๋ฆฌ dict์—์„œ ๊ฐ€์žฅ ํฐ ํ‚ค๊ฐ’ ๋‘ ๊ฐœ๋ฅผ ์ถœ๋ ฅํ•ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— dict์„ sort๋ฅผ ์ด์šฉํ•ด ์ •๋ ฌํ•ด์ค€๋‹ค.
    • ๋”•์…”๋„ˆ๋ฆฌ๋ฅผ ์ •๋ฆฌํ•  ๋•Œ๋Š” sorted๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค.

sorted

  • sorted ํ•จ์ˆ˜์˜ ๊ฒฝ์šฐ key ์œ„์น˜์ธ์ž์— ํ•จ์ˆ˜๋ฅผ ๋ณด๋‚ด์„œ, ํ•จ์ˆ˜์—์„œ ์ง€์ •ํ•œ ๊ฒฐ๊ณผ๊ฐ’์— ๋”ฐ๋ผ์„œ ์ •๋ ฌ์„ ํ•  ์ˆ˜ ์žˆ๋‹ค.
profile
https://rimi0108.github.io/

0๊ฐœ์˜ ๋Œ“๊ธ€