[プログラマー/SUN](2019年KACA公募)失敗率
2122 ワード
ソース
スーパーゲーム開発者のオレリーは大きな悩みに陥った.彼女が作ったブランド「呉天成」は大きな成功を収めたが、最近は新しいユーザーの数が激減している.なぜなら、新しいユーザーと既存のユーザーの間の舞台の違いが大きすぎるからです.
どうすればいいか悩んだ彼女は、ゲームの時間を動的に増やして難易度を調整することにした.やはりスーパー開発者であり、ほとんどのロジックは実現しやすいが、失敗率を探す部分で危機に陥っている.オレリーの失敗率を求めるコードを完了します.失敗率は次のように定義されます.
-ステージに到着してもまだクリアしていないプレイヤー数/ステージに到着したプレイヤー数 現在停止しているステージ番号を含む配列フェーズをパラメータとして指定した場合は、失敗率の高いステージからステージ番号を含む配列を降順に返すように、ソルバを完了します.
舞台の個数Nは
ステージの長さは
段階は、
-各自然数は、ユーザが現在チャレンジしているステージの番号を表します.
-ただし、
同じ失敗率の舞台があれば、トランペットの舞台を先に来てもらうことができます.
ステージに到達しなかったプレイヤーの場合、そのステージの失敗率は
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
1番ステージには8人のユーザーが挑戦し、そのうち1人のユーザーはまだ通関していない.そのため、1番ステージの失敗率は以下の通り.第1期失敗率:1/82 第2ステージには7人のユーザーが挑戦し、そのうち3人のユーザーはまだ通関していない.そのため、2番目の舞台の失敗率は以下の通りです.第2期失敗率:3/7 同様に、残りの舞台の失敗率は以下の通りである.第3段階失敗率:2/4 第4期失敗率:1/ 第5期失敗率:0/1 各ステージの番号を失敗率の降順に並べます. [3,4,2,1,5] I/O例#2
すべてのユーザが最後のステージにいるため、4番目のステージの失敗率は1であり、残りのステージの失敗率は0である. [4,1,2,3]
問題の説明
失敗率
スーパーゲーム開発者のオレリーは大きな悩みに陥った.彼女が作ったブランド「呉天成」は大きな成功を収めたが、最近は新しいユーザーの数が激減している.なぜなら、新しいユーザーと既存のユーザーの間の舞台の違いが大きすぎるからです.
どうすればいいか悩んだ彼女は、ゲームの時間を動的に増やして難易度を調整することにした.やはりスーパー開発者であり、ほとんどのロジックは実現しやすいが、失敗率を探す部分で危機に陥っている.オレリーの失敗率を求めるコードを完了します.
-ステージに到着してもまだクリアしていないプレイヤー数/ステージに到着したプレイヤー数
せいげんじょうけん
舞台の個数Nは
1
以上500
以下の自然数である.ステージの長さは
1
以上200,000
以下である.段階は、
1
以上N + 1
以下の自然水を含む.-各自然数は、ユーザが現在チャレンジしているステージの番号を表します.
-ただし、
N + 1
は、最後のステージ(N番目のステージ)にクリアしたユーザを表す.同じ失敗率の舞台があれば、トランペットの舞台を先に来てもらうことができます.
ステージに到達しなかったプレイヤーの場合、そのステージの失敗率は
0
と定義される.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例説明
I/O例#1
1番ステージには8人のユーザーが挑戦し、そのうち1人のユーザーはまだ通関していない.そのため、1番ステージの失敗率は以下の通り.
すべてのユーザが最後のステージにいるため、4番目のステージの失敗率は1であり、残りのステージの失敗率は0である.
説明する
from collections import Counter
def solution(N, stages):
stages_count = Counter(stages)
failure = {}
sum = stages_count[N+1]
for n in range(N, 0, -1):
sum += stages_count[n]
if sum == 0:
failure.update({n:0})
else:
failure.update({n:stages_count[n]/sum})
failure = list(zip(failure.keys(),failure.values()))
answer = [a[0] for a in sorted(failure, key= lambda x: (-x[1],x[0]))]
return answer
Reference
この問題について([プログラマー/SUN](2019年KACA公募)失敗率), 我々は、より多くの情報をここで見つけました https://velog.io/@chaegil15/프로그래머스파이썬-2019-카카오-공채-실패율テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol