[プログラマー]-失敗率(Python)
5024 ワード
問題の説明
失敗率は次のように定義されます.
ステージに到着しても空になっていないプレイヤー数/ステージに到着したプレイヤー数
現在停止しているステージ番号を含む配列フェーズをパラメータとして指定した場合は、失敗率の高いステージからステージ番号を含む配列を降順に返すように、ソルバを完了します.
せいげんじょうけん
I/O例
Nstagesresult5[2, 1, 2, 6, 2, 4, 3, 3][3, 4, 2, 1, 5]4[4, 4, 4, 4, 4][4, 1, 2, 3]
I/O例説明
1番ステージには8人のユーザーが挑戦し、そのうち1人のユーザーはまだ通関していない.そのため、1番ステージの失敗率は以下の通り.
1ステージ失敗率:1/8
第2ステージには7人のユーザーが挑戦し、そのうち3人のユーザーはまだ通関していない.そのため、2番目の舞台の失敗率は以下の通りです.
フェーズ2失敗率:3/7
フェーズ3失敗率:2/4
フェーズ4失敗率:1/2
フェーズ5失敗率:0/1
各ステージの番号を失敗率の降順に並べます.
[3, 4, 2, 1, 5]
[4, 1, 2, 3]
def solution(N, stages):
answer = {}
L = [0] * N # 스테이지만큼 0 리스트 생성
for i in range(1, N+1):
for j in stages:
if i == j: # 각 사람마다 막힌 스테이지
L[i-1] += 1 # L리스트에 카운트
A = len(stages) # 사람수
for k in range(N):
if A != 0:
answer[k+1] = (L[k] / A) # answer 사전에 스테이지와 실패율 저장
A -= L[k]
else: # 사람수가 0이 될때까지
answer[k+1] = 0
# 실패율 내림차순으로 정렬
return sorted(answer, key = lambda x: answer[x], reverse = True)
Reference
この問題について([プログラマー]-失敗率(Python)), 我々は、より多くの情報をここで見つけました https://velog.io/@ssulee0206/프로그래머스-실패율파이썬テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol