https://programmers.co.kr/learn/courses/30/lessons/92334
์ฝ๋ฉํ ์คํธ ์ฐ์ต - ์ ๊ณ ๊ฒฐ๊ณผ ๋ฐ๊ธฐ
๋ฌธ์ ์ค๋ช ์ ์ ์ฌ์ ๋ฌด์ง๋ ๊ฒ์ํ ๋ถ๋ ์ด์ฉ์๋ฅผ ์ ๊ณ ํ๊ณ ์ฒ๋ฆฌ ๊ฒฐ๊ณผ๋ฅผ ๋ฉ์ผ๋ก ๋ฐ์กํ๋ ์์คํ ์ ๊ฐ๋ฐํ๋ ค ํฉ๋๋ค. ๋ฌด์ง๊ฐ ๊ฐ๋ฐํ๋ ค๋ ์์คํ ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. ๊ฐ ์ ์ ๋ ํ ๋ฒ์ ํ ๋ช ์
programmers.co.kr
ํ์ด
# ํ๋ก๊ทธ๋๋จธ์ค 1๋จ๊ณ - ์ ๊ณ ๊ฒฐ๊ณผ ๋ฐ๊ธฐ
from collections import defaultdict
def solution(id_list, report, k):
answer = [0] * len(id_list)
report = set(report)
user_report = defaultdict(set) # ์ ๊ณ ๋ฅผ ํ ์ ์ ๋ชฉ๋ก ( set )
user_num_of_reported = defaultdict(int) # ์ ์ ๊ฐ ์ ๊ณ ๋นํ ํ์ ( int )
suspended = []
for r in report:
do_report, be_reported = r.split()
user_num_of_reported[be_reported] += 1
user_report[do_report].add(be_reported)
if user_num_of_reported[be_reported] == k:
suspended.append(be_reported)
for s in suspended:
for i in range(len(id_list)):
if s in user_report[id_list[i]]:
answer[i] += 1
return answer
ans = solution(["muzi", "frodo", "apeach", "neo"], ["muzi frodo","apeach frodo","frodo neo","muzi neo","apeach muzi"], 2)
print(ans)
'๐๏ธ Algorithm > โฌ ํ๋ก๊ทธ๋๋จธ์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Programmers] [Python] Level1_์ฒด์ก๋ณต (0) | 2022.03.06 |
---|---|
[Programmers] [2021 kakao blind recruitment] [Python] Level1_์ ๊ท ์์ด๋ ์ถ์ฒ (0) | 2022.02.26 |
[Programmers] [Python] Level1_๋ก๋์ ์ต๊ณ ์์์ ์ต์ ์์ (0) | 2022.02.26 |
[Programmers] [Python] Level1_์ต๋๊ณต์ฝ์์ ์ต์๊ณต๋ฐฐ์ (0) | 2022.02.25 |
[Programmers] [Python] Level2_์ ๋ ฌ_๊ฐ์ฅ ํฐ ์ (0) | 2022.02.25 |