반응형
문제
https://school.programmers.co.kr/learn/courses/30/lessons/92334
문제 풀이
모든 유저에 대해서 신고 당한 횟수, 날 신고한 유저 명단을 딕셔너리로 정리함.
모든 유저에 대해 받을 메일의 수를 0 으로 두고 새로운 딕셔너리를 만들고,
신고한 사람이 정지를 당하면 메일을 받을 때마다 += 1 해줌.
코드
def solution(id_list, report, k):
status = {ID : 0 for ID in id_list} # 누적 신고수
player = {ID : [] for ID in id_list} # ID를 신고한 사람 명단
for i in set(report):
normal, abnormal = i.split()
status[abnormal] += 1
player[abnormal].append(normal)
user = {id : 0 for id in id_list}
for name in id_list:
if status[name] >= k:
for n in player[name]:
user[n] += 1
return list(user.values())
반응형
'알고리즘 > 프로그래머스 문제풀이' 카테고리의 다른 글
[프로그래머스] lv.1 문자열을 정수로 바꾸기 python 풀이 (0) | 2023.10.26 |
---|---|
[프로그래머스] 둘만의 암호 풀이 (0) | 2023.10.26 |
[프로그래머스] lv.1 달리기 경주 python 풀이 (0) | 2023.10.26 |
[프로그래머스] lv.1 햄버거 만들기 python 풀이 시간초과 해결 (0) | 2023.10.26 |
[프로그래머스] lv.1 콜라 문제 python 풀이 (0) | 2023.10.24 |