https://school.programmers.co.kr/learn/courses/30/lessons/92334
중복 제거를 위해 report를 set으로 만들어주고
딕셔너리를 하나 만들어서 key(신고한id):value(이용자id - list 형태)로 저장해줬다.
그 후 딕셔너리를 돌면서 value값이 k보다 크거나 같을 때 key값의 answer값을 하나씩 증가시켰다.
# 프로그래머스 92334: 신고 결과 받기 (2022 KAKAO BLIND RECRUITMENT)
def solution(id_list, report, k):
answer = [0 for i in range(len(id_list))]
report = set(report) # 중복 제거
dic = {} # 딕셔너리
for i in range(len(id_list)):
dic[id_list[i]] = []
for i in report:
dic[i.split()[1]].append(i.split()[0])
for i in id_list:
if len(dic[i]) >= k:
for j in dic[i]:
answer[id_list.index(j)] += 1
return answer
'알고리즘 > 프로그래머스' 카테고리의 다른 글
[프로그래머스 | Lv1] 개인정보 수집 유효기간 (Python) - 2023 KAKAO BLIND RECRUITMENT (0) | 2023.01.07 |
---|---|
[프로그래머스 | Lv1] 햄버거 만들기 (Python) (0) | 2023.01.07 |
[프로그래머스 | Lv1] 신규 아이디 추천 (Python) - 2021 KAKAO BLIND RECRUITMENT (0) | 2023.01.04 |
[프로그래머스 | Lv1] 숫자 문자열과 영단어 (Python) - 2021 카카오 채용연계형 인턴십 (0) | 2023.01.03 |
[프로그래머스 | Lv1] 성격 유형 검사하기 (Python) - 2022 KAKAO TECH INTERNSHIP (0) | 2023.01.03 |