✏️ 문제
문제 파악
매치하기 힘들 때는 손으로 적어가면서 정리하는 게 훨씬 잘된다!
id 딕셔너리에는 { 유저 ID : [유저가 신고한 ID] } 를 주었고
stop 딕셔너리에는 { 유저 ID : 신고당한 횟수 } 를 주어서
신고당한 횟수가 k 이상이면 id 딕셔너리와 매치해서 인덱스 값을 결과 배열에 추가했다.
코드
def solution(id_list, report, k):
answer = [0] * len(id_list)
id = {}
stop = {}
for i in id_list:
id[i] = []
stop[i] = 0
for r in report:
s, e = r.split(' ')
if e not in id[s]:
id[s].append(e)
stop[e] += 1
for st in stop:
if stop[st] >= k:
for idx, i in enumerate(id):
if st in id[i]:
answer[idx] += 1
return answer
- 다른 사람의 풀이
def solution(id_list, report, k):
answer = [0] * len(id_list)
id = {x : 0 for x in id_list}
print(set(report))
for r in set(report):
id[r.split()[1]] += 1
for r in set(report):
if id[r.split()[1]] >= k:
answer[id_list.index(r.split()[0])] += 1
return answer
중복되면 신고를 1회만 처리되는데 set으로 처리하셨다!....진짜 코드가 어떻게 이렇게 짧을 수 있지 ......🥲
'PS > 프로그래머스' 카테고리의 다른 글
[Python] 가장 많이 받은 선물 (0) | 2024.11.03 |
---|---|
[Python] 성격 유형 검사하기 (0) | 2024.11.03 |
[Python] 1번 / 동영상 재생기 (0) | 2024.11.02 |
[Python] 개인정보 수집 유효기간 (1) | 2024.11.02 |
[Python] 10번 / 공원 (0) | 2024.11.02 |