불량이용자를 신고해서 해당id가 k회이상 경고시 신고한 모든사람에게 메일을 보낸다. 유저가 받은 메일의 개수의 리스트를 출력하는 문제
report를 검색해 각 유저들이 받은 경고를 수집한다.
경고가 k회 이상인것만 answer에 기록한다.
def solution(id_list, report, k):
answer = [0]*len(id_list)
reply = { id:set() for id in id_list}
for r in report:
n1, n2 = r.split()
reply[n2].add(n1)
for i in reply:
if len(reply[i]) >= k:
for j in reply[i]:
answer[id_list.index(j)] += 1
return answer
id_list=["muzi", "frodo", "apeach", "neo"]
report=["muzi frodo","apeach frodo","frodo neo","muzi neo","apeach muzi"]
k=2
solution(id_list, report, k)
다른분 예 id 검색을 report를 검색하면서 만들고 있다
def solution(id_list, report, k):
a = {}
d = {} # d[i] = i를 신고한 이용자들의 집합
for i in id_list:
a[i] = 0
d[i] = set()
for i in report:
i = list(i.split())
d[i[1]].add(i[0])
for i in d:
if len(d[i]) >= k:
for j in d[i]:
a[j] += 1
answer = []
for i in id_list:
answer.append(a[i])
return answer'코딩테스트' 카테고리의 다른 글
| 백준 1103번 게임 (0) | 2025.06.01 |
|---|---|
| 2025 프로그래머스 코드챌린지 2차 예선완전범죄 (1) | 2025.05.31 |
| 2023 KAKAO BLIND RECRUITMENT개인정보 수집 유효기간 (0) | 2025.05.31 |
| 2024 KAKAO WINTER INTERNSHIP 가장 많이 받은 선물 (0) | 2025.05.30 |
| 프로그래머스 택배상자 389478 (1) | 2025.05.29 |