๐ฃ ๋ฌธ์ ์ดํด
์ ๋ ฌ์ ์ด์ฉํ๋ ๊ฒ ํฌ์ธํธ์ธ๋ฏํ ๋ฌธ์ ์ด๋ค.
๋์ ๋๋ฆฌ๋ฅผ ์ฌ์ฉํ๊ณ , Key ๊ฐ์ 1~N๊น์ง์ ์คํ ์ด์ง ๋ฒํธ, Value ๊ฐ์ ๊ฐ ์คํ ์ด์ง์ ์คํจ์จ์ ๋ด๋๋ค.
๋์ ๋๋ฆฌ์ Value ๊ฐ์ธ ์คํจ์จ์ key ๋ก ํ์ฌ ๋ด๋ฆผ์ฐจ์ ์ ๋ ฌ์ ์ํํ๋ค.์ ๋ ฌ๋ ๋์ ๋๋ฆฌ์ Key ๊ฐ์ด ๋ฌธ์ ์์ ์๊ตฌํ๋ ์์๊ฐ ๋๋ค.
๐ญ ํ์ด ๊ณผ์
์์ฑ ์ธ์ด: Python3
import operator
def solution(t_n, t_stages):
answer = []
user_left = len(t_stages)
stages_dict = {num: 0 for num in range(1, t_n + 1)}
# ์คํจ์จ ๊ณ์ฐ
for key in stages_dict.keys():
if user_left != 0:
user_cnt = t_stages.count(key)
stages_dict[key] = user_cnt / user_left
user_left -= user_cnt
else: # ์์ง ํ์ํ ์คํ
์ด์ง๊ฐ ๋จ์๋๋ฐ, ๋จ์ ์ฌ๋์ด ์๋ค๋ฉด ๊ทธ ์คํ
์ด์ง๋ 0๋ผ๋ ๊ฒ [์์ธ์ฒ๋ฆฌ]
stages_dict[key] = 0
sorted_stages = sorted(stages_dict.items(), key=operator.itemgetter(1), reverse=True)
[answer.append(tup[0]) for tup in sorted_stages]
return answer
๐ ๋ฐฐ์ด ์
์นด์นด์ค ์ฝํ ์์ ๋์ด๋๊ฐ ๋ฎ์ ๋ฌธ์ ๋ค์ ํ๋ฉฐ ์์ผ ํ์ด์ฌ์์ ์ ๊ณตํ๋ ํจ์๋ค์ด ์ ๋ง ํธ๋ฆฌํ๋ค๋ ๊ฑธ ๊นจ๋ซ๋๋ค.
๋ํ, ๋ค๋ฅธ ํ์ด๋ค์ ์ฐพ์๋ณด๋ฉฐ ๋ ์ง๊ด์ ์ด๊ณ ํจ์จ์ ์ผ๋ก ํจ์๋ฅผ ํ์ฉํ ์์ค๋ค์์ ๋ง์ด ๋ฐฐ์ฐ๋ ๊ฒ ๊ฐ๋ค.
'Problem_Solving' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[BOJ] ๋ฐฑ์ค 7576 ํ ๋งํ / ๋๋น ์ฐ์ ํ์(BFS) (0) | 2020.08.31 |
---|---|
[2018 KAKAO BLIND RECRUITMENT] ๋คํธ ๊ฒ์ (0) | 2020.08.29 |
[2018 KAKAO BLIND RECRUITMENT] ๋น๋ฐ์ง๋ (0) | 2020.08.28 |
[2020 ์นด์นด์ค ์ธํด์ญ for Tech developers] ํคํจ๋ ๋๋ฅด๊ธฐ (0) | 2020.08.27 |
[BOJ] ๋ฐฑ์ค 1935 ํ์ ํ๊ธฐ์2 / ์คํ(Stack) (0) | 2020.07.27 |