Algorithm/Programmers
[미완] #프로그래머스 - 신고 결과 받기 / 파이썬 / 딕셔너리
say!
2022. 6. 29. 17:06
728x90
코딩테스트 연습 - 신고 결과 받기
문제 설명 신입사원 무지는 게시판 불량 이용자를 신고하고 처리 결과를 메일로 발송하는 시스템을 개발하려 합니다. 무지가 개발하려는 시스템은 다음과 같습니다. 각 유저는 한 번에 한 명의
programmers.co.kr
def solution(id_list, report, k):
result = {}
dic = {}
reported = {}
# 이용자id가 신고한id 배열 만들기
for i in id_list:
dic[i] = []
result[i] = 0
reported[i] = 0
# 이용자id, 신고한 id 분리하기 & 배열에 넣기
for i in report:
user, reportedUser = i.split(' ')[0], i.split(' ')[1]
dic[user].append(reportedUser)
# 신고받은 id 횟수 세기
for i in list(dic.values()):
for j in set(i): # 리스트 중복 제거
reported[j] += 1
# 신고횟수 2회 이상인 아이디를 신고한 이용자 id 찾기
for i in id_list:
for j in dic[i]:
if reported[j] == 2:
result[i] += 1
answer = []
answer = list(result.values())
return answer

-딕셔너리 관련 함수
dic.values() 딕셔너리 값 가져오기
list(dic.values()) 리스트로 딕셔너리 값 가져오기
dic.keys() 딕셔너리 키 가져오기
list(dic.keys()) 리스트로 딕셔너리 키 가져오기
-set 함수
중복 제거