programmers.co.kr/learn/courses/30/lessons/42889
1. 유형
구현
2. 자료구조
딕셔너리
3. 풀이
각 스테이지에 따른 실패율 구하기
1) {스테이지 : 실패한 횟수} 형식으로 딕셔너리 만들기
2) [실패율, 스테이지] 형식으로 리스트 만들기
3) 실패율 순으로 내림차순, 스테이지 오름차순 정렬
코드.
def solution(N, stages):
answer = []
dic = {}
for stage in stages:
if dic.get(stage):
dic[stage] += 1
else:
dic[stage] = 1
snum = len(stages)
list = []
for i in range(1, N+1):
if snum!=0 and dic.get(i):
fail = dic[i]/snum
list.append([fail, i])
snum-=dic[i]
else:
list.append([0, i])
list.sort(key= lambda x: (-x[0], x[1]))
answer = [k[1] for k in list]
return answer
'알고리즘 > 프로그래머스' 카테고리의 다른 글
프로그래머스 - 키패드 누르기 (0) | 2021.05.22 |
---|---|
프로그래머스 - (python) 배달 (0) | 2021.05.19 |
프로그래머스 - (Python, Java) 오픈채팅방 (0) | 2021.05.03 |
프로그래머스 -(python) 전화번호 목록 (0) | 2021.04.27 |
프로그래머스 - 영어 끝말잇기 (0) | 2021.04.23 |