문제) 프로그래머스 - 2022 카카오 공채 - 신고 결과 받기
https://school.programmers.co.kr/learn/courses/30/lessons/92334
풀이)
K번 이상 신고 당한 유저를 신고 성공한 횟수의 리스트 배열을 return하는 문제였습니다.
오랜만에 풀다보니(특히 Python) 전에 자주 사용했던 Dictionary나 List에만 의존했습니다. 그러다보니 정답에서 index 처리를 위한 자료형이 계속 추가되었습니다.
아래는 프로그래머스에 나온 다른 사람 풀이 중 하나입니다. 굉장히 깔끔하게 푼 것을 알 수 있습니다. set과 list.index만 사용해도 간결하게 해결할 수 있습니다.
def solution(id_list, report, k):
# 초기화
answer = [0] * len(id_list)
reports = {x : 0 for x in id_list}
# Set을 통해 중복 제거
for r in set(report):
reports[r.split()[1]] += 1
for r in set(report):
if reports[r.split()[1]] >= k:
# list.index를 통해 index 처리
answer[id_list.index(r.split()[0])] += 1
return answer
반응형
'PS(Problem Solving) > 프로그래머스_Programmers' 카테고리의 다른 글
[프로그래머스] 코딩테스트 연습 - 같은 숫자는 싫어 (Python) 문제 및 풀이 (0) | 2022.08.19 |
---|---|
[프로그래머스] 2020 카카오 인턴십 - 키패드 누르기 (파이썬) 문제 및 풀이 (0) | 2022.08.06 |
[프로그래머스] 코딩테스트 고득점 Kit - 단어 변환 (Python) 문제 및 풀이 (0) | 2021.12.07 |
[프로그래머스] 코딩테스트 고득점 Kit - 네트워크 (C++) 문제 및 풀이 (0) | 2021.12.07 |
[프로그래머스] 코딩테스트 고득점 Kit - 주식 가격 (C++) 문제 및 풀이 (0) | 2021.12.04 |
댓글