문제) 프로그래머스 - 2022 카카오 공채 - 신고 결과 받기
https://school.programmers.co.kr/learn/courses/30/lessons/92334
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
풀이)
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
GitHub - Chocochip101/Programmers
Contribute to Chocochip101/Programmers development by creating an account on GitHub.
github.com
반응형
'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 |
댓글