문제 설명
문제 풀이
def solution(id_list, report, k):
answer = []
reportDic = {} # 신고 횟수
crimeDic = {} # 신고 당한 횟수
notOverlapReports = list(dict.fromkeys(report)) # 중복제거(list -> dic -> list)
for id in id_list: # 초기화
reportDic[id] = 0
crimeDic[id] = 0
for notOverlapReport in notOverlapReports: # id 별 신고 당한 횟수 저장
sp = notOverlapReport.split()
crimeDic[sp[1]] += 1
for notOverlapReport in notOverlapReports:
sp = notOverlapReport.split()
if crimeDic[sp[1]] >= k: # 신고 당한 횟수가 k 보다 크다면
reportDic[sp[0]] += 1 # 신고 횟수 추가
for id in id_list:
answer.append(reportDic[id]) # dic -> list
return answer
반응형
'가이드 > 프로그래머스' 카테고리의 다른 글
프로그래머스 > Summer/Winter Coding(~2018) > 점프와 순간 이동 / Python3 (0) | 2022.03.14 |
---|---|
프로그래머스 > 정렬 > K번째수 / Python3 (0) | 2022.02.22 |
프로그래머스 > 월간 코드 챌린지 시즌2 > 음양 더하기 / Python3 (0) | 2022.02.22 |
프로그래머스 > 월간 코드 챌린지 시즌3 > 없는 숫자 더하기 / Python3 (0) | 2022.02.22 |
프로그래머스 > 2021 Dev-Matching: 웹 백엔드 개발자(상반기) > 로또의 최고 순위와 최저 순위 / Python3 (0) | 2022.02.22 |
댓글