본문 바로가기
PS(Problem Solving)/프로그래머스_Programmers

[프로그래머스] 2022 카카오 공채 - 신고 결과 받기 (파이썬) 문제 및 풀이

by 초코칩프라푸치노 2022. 8. 4.

문제) 프로그래머스 - 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

 

https://github.com/Chocochip101/Programmers/blob/main/%EC%BD%94%EB%94%A9%ED%85%8C%EC%8A%A4%ED%8A%B8%20%EA%B3%A0%EB%93%9D%EC%A0%90%20Kit/%EC%8B%A0%EA%B3%A0%20%EA%B2%B0%EA%B3%BC%20%EB%B0%9B%EA%B8%B0.py

 

GitHub - Chocochip101/Programmers

Contribute to Chocochip101/Programmers development by creating an account on GitHub.

github.com

 

반응형

댓글