ALGORITHM/Kakao
[Python] 신고 결과 받기
김쿸후
2022. 3. 16. 18:06
1. 문제
https://programmers.co.kr/learn/courses/30/lessons/92334
코딩테스트 연습 - 신고 결과 받기
문제 설명 신입사원 무지는 게시판 불량 이용자를 신고하고 처리 결과를 메일로 발송하는 시스템을 개발하려 합니다. 무지가 개발하려는 시스템은 다음과 같습니다. 각 유저는 한 번에 한 명의
programmers.co.kr
2. 회고
- 3단계 풀다가 1단계 푸니깐 너무 행복..ㅎ
리스트에서 index 검색하는 함수
index = 리스트.index(찾고싶은 요소)
리스트에서 중복제거
중복제거리스트 = set(원래리스트) 원래리스트 = list(중복제거리스트)
- 우리에게 익숙한 리스트함수들을 사용하려면 list로 다시 바꿔주는 것이 불필요한 실수를 줄일 수 있다.
3. 코드
def solution(id_list, report, k):
report_num = [0]*len(id_list) # 신고 당한 횟수
answer = [0]*len(id_list) # 메일 횟수
reported_list = [] # 신고당한 인간
# report 중복 제거
report_set = set(report[:])
report = list(report_set)
for i in report:
reporter, reported = i.split(' ')
idx = id_list.index(reported)
report_num[idx] += 1
# 신고당한 인간 찾기
for idx, i in enumerate(report_num):
if i >= k:
reported_list.append(id_list[idx])
# 메일 보내기
for i in report:
reporter, reported = i.split(' ')
if reported in reported_list:
idx = id_list.index(reporter)
answer[idx] +=1
return answer