[ 문제 바로가기 ]
수도코드

내 답안
def solution(users, report, k):
report = set(report)
report = [text.split() for text in report]
history = {x[0]:[] for x in report}
reported_cnt = {key:0 for key in users}
reported_who = {key:[] for key in users}
# block
for content in report:
whom = content[1]
reported_cnt[whom] += 1
reported_who[whom].append(content[0])
blocked = [i for i, cnt in reported_cnt.items() if cnt >= k]
result = [0] * len(users)
for whom in blocked:
multi_who = reported_who[whom]
for who in multi_who:
result[users.index(who)] +=1
return result
관련 개념과 활용
자료형 순회할 때 필수적으로 사용되는 메서드
- enumerate()
list의 idx, value 순회할 때 사용 - .items()
dictionary 키값 순회할 때 사용 - set()
set([list형]) => set형 1차 depth로 반환됨
'⚡️algorithm > step-up ++' 카테고리의 다른 글
다익스트라와 이진트리 (feat. min heap 구현) (0) | 2025.01.09 |
---|---|
[스택, 수 비교] 프로그래머스 lv2. 뒤에 있는 큰 수 찾기 (0) | 2023.02.23 |
[다익스트라, Dijkstra, 구조] 백준 1753. 최단 경로 (0) | 2022.10.12 |
[DP, 2차원, 누적합, 파이썬] 백준 11660. 구간합구하기 (1) | 2022.10.03 |
[dictionary, 조건에 맞는 값 탐색, 효율성] 프로그래머스 lv2. 순위검색 (feat. lambda, filter, map, combination, get(key)) (0) | 2022.09.14 |