티스토리 뷰
📌문제
https://school.programmers.co.kr/learn/courses/30/lessons/42889
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
📌풀이
스테이지 번호를 1부터 N까지 증가시키며 해당 단계에 머물러 있는 플레이어들의 수를 계산
플레이어들의 수 정보를 이용하여 모든 스테이지에 따른 실패율을 계산
실패율 기준으로 내림차순 정렬
📌코드
def solution(N, stages):
answer=[]
length=len(stages)
#스테이지 번호를 1부터 N까지 증가
for i in range(1, N+1):
#해당 스테이지에 머물러 있는 사람 수 계산
count=stages.count(i)
#실패율
if length==0:
fail=0
else:
fail=count/length
#리스트에 (스테이지번호, 실패율) 삽입
answer.append((i, fail))
length-=count
#실패율 기준으로 각 스테이지 내림차순
answer=sorted(answer, key=lambda t: t[1], reverse=True)
#정렬된 스테이지 번호
answer=[i[0] for i in answer]
return answer
📌참고
이것이 취업을 위한 코딩 테스트다 with 파이썬
IT 취준생이라면 누구나 입사하고 싶은 카카오・삼성전자・네이버・라인!취업의 성공 열쇠는 알고리즘 인터뷰에 있다! IT 취준생이라면 누구나 가고 싶어 하는 카카오, 라인, 삼성전자의 2016년
www.google.com