티스토리 뷰
https://programmers.co.kr/learn/courses/30/lessons/92334
코딩테스트 연습 - 신고 결과 받기
문제 설명 신입사원 무지는 게시판 불량 이용자를 신고하고 처리 결과를 메일로 발송하는 시스템을 개발하려 합니다. 무지가 개발하려는 시스템은 다음과 같습니다. 각 유저는 한 번에 한 명의
programmers.co.kr
유저들의 id_list가 있고, 이 유저들의 신고한 내역인 report가 주어집니다.
report를 기반으로 딕셔너리에 신고당한 유저 : 신고한 유저 형태로 저장한다음 신고한 유저의 수가 k가 넘는 신고당한 유저를 신고한 유저를 기준으로 다시한번 메일을 수신하는 딕셔너리에 넣어줍니다.
그리고 마지막에 id_list 순서대로 for문을 돌며 result값을 뽑아냅니다.
# https://programmers.co.kr/learn/courses/30/lessons/92334
# 신고 결과 받기.py
def solution(id_list, report, k):
answer = []
mail_dict = {}
dic = {}
for i in report:
i = i.split()
if i[1] in dic:
dic[i[1]].append(i[0])
else:
dic[i[1]] = [i[0]]
for key, val in dic.items():
val = list(set(val))
if len(val) >= k:
for user in val:
if user in mail_dict:
mail_dict[user].append(key)
else:
mail_dict[user] = [key]
for i in id_list:
answer.append(len(mail_dict[i]) if i in mail_dict else 0)
return answer
'ALGORITHM > Programmers' 카테고리의 다른 글
[프로그래머스] 순위 검색.py (0) | 2022.06.04 |
---|---|
[프로그래머스] 징검다리 건너기.py (0) | 2022.05.07 |
[프로그래머스] 정수 삼각형.py (0) | 2022.01.09 |
프로그래머스 큰 수 만들기.py (0) | 2021.12.05 |
[프로그래머스] 프렌즈4블록.py (0) | 2021.11.15 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- gunicorn
- ManyToMany
- for-else
- 파이썬
- Python
- dfs
- leetcode
- query
- conTeXt
- django
- taggit
- 프로그래머스
- go context
- 독후감
- 소프트웨어 장인
- 백준
- 방금그곡
- 문자열 뒤집기
- Two Scoops of Django
- 의대 신경학 강의
- stdout
- go
- sql lite
- 팰린드롬수
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
글 보관함