문제링크 : https://programmers.co.kr/learn/courses/30/lessons/42889
문제 설명
전체 스테이지의 개수 N, 게임을 이용하는 사용자가 현재 멈춰있는 스테이지의 번호가 담긴 배열 stages가 매개변수로 주어질 때, 실패율이 높은 스테이지부터 내림차순으로 스테이지의 번호가 담겨있는 배열을 return 하는 solution 함수
알고리즘
1. 각 스테이지별 실패율을 구한다.
2. key에 스테이지를 value에 실패율 로 하여 딕셔너리를 만든다.
3. 딕셔너리를 value에 따라 내림차순 정렬한다.
4. return 한다
코드
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | def solution(N, stages): answer = [] dic ={} for i in range(1,N+1): total = 0 fail = 0 for j in stages: if j >=i : total+=1 if j > i : fail +=1 fail = total - fail print(i,fail,total) if total ==0 : dic[i]=[0] else: dic[i] =[fail/total] dic = dict(sorted(dic.items(), key=lambda x: x[1], reverse=True)) answer =list(dic.keys()) return answer | cs |
'파이썬 > 프로그래머스' 카테고리의 다른 글
[python] 프로그래머스 - 괄호 변환 (0) | 2020.08.04 |
---|---|
[python] 프로글래머스 - 멀쩡한 사각형 (0) | 2020.08.04 |
[python] 프로그래머스 - 키패드 누르기 (0) | 2020.08.04 |
[python] 프로그래머스 - 스킬트리 (0) | 2020.08.04 |
[python] 프로그래머스 - 베스트 앨범 (0) | 2020.08.04 |