728x90
https://programmers.co.kr/learn/courses/30/lessons/92334
코딩테스트 연습 - 신고 결과 받기
문제 설명 신입사원 무지는 게시판 불량 이용자를 신고하고 처리 결과를 메일로 발송하는 시스템을 개발하려 합니다. 무지가 개발하려는 시스템은 다음과 같습니다. 각 유저는 한 번에 한 명의
programmers.co.kr
- 코드
def solution(id_list, reports, k):
N = len(id_list)
answer = [0] * N
# 신고 당한 사람
reported = []
# {신고 한 사람 : 신고 당한 사람}
reportDic = {id: [] for id in id_list}
# set으로 중복 제거
for i in set(reports):
report = i.split(' ')
reported.append(report[1])
reportDic[report[0]].append(report[1])
# k번 이상 신고 당한 사람 == 정지 된 사람
K = []
for j in id_list:
if reported.count(j) >= k:
K.append(j)
# 메일 받는 횟수 구하기
for key, value in reportDic.items():
for k in K:
# 내가 신고해서 정지된 사람
if k in value:
answer[id_list.index(key)] += 1
return answer
print(solution(["con", "ryan"] ,["ryan con", "ryan con", "ryan con", "ryan con"], 3))
728x90
반응형
'TIL - 프로그래밍 > Python 알고리즘' 카테고리의 다른 글
[백준] 21608. 상어 초등학교 - Python (0) | 2022.05.31 |
---|---|
[백준] 2178. 미로탐색 -Python (0) | 2022.05.30 |
[프로그래머스] Lv.1 신규 아이디 추천 - Python (0) | 2022.05.27 |
[프로그래머스] Lv.1 실패율 - Python (0) | 2022.05.21 |
[프로그래머스] Lv.2 문자열 압축 - Python (0) | 2022.05.12 |
댓글