Level 1. 模擬試験
6863 ワード
13.模擬試験
コーディングテスト練習>完全ナビゲーション>シミュレーションテスト
https://programmers.co.kr/learn/courses/30/lessons/42840#
問題の説明
数学は数学を放棄する人の略語である.「囚人3人組」は模擬試験で数学の問題を全部撮りたいと思っている.最初の問題から最後の問題まで、執胞子は以下の通りである.
1番捕手の撮り方:1,2,3,4,5,1,2,3,4,5...
2番捕手の撮り方:2、1、2、3、2、4、2、5、2、2、3、2、4、2、5...
3番捕手の撮り方:3,3,1,1,2,2,4,5,5,3,3,1,2,2,4,5,5...
最初の問題から最後の問題までの正解が順番に並んでいる場合は、最も多くの質問に答えた人が誰なのか、答えを並べて返すように解答関数を書いてください.
せいげんじょうけん
・試験は最大10000問からなる.
・質問の答えは1,2,3,4,5のうちの1つです.
・最高スコアを取得した人が多い場合は、返される値を昇順に並べます.
I/O例
answer = 1,2,3,4,5 return = 1
answer = 1,3,2,4,2 return = 1,2,3
構想する
数字1、2、3を繰り返す撮影方式は、それぞれ独立しています.
resultの要素が各実行者リストのiの要素と同じである場合.
arrayに+1を追加します.
最終的に最も多くの回答者を基準に昇順するために,多くの回答者(index)からappendを実行してソートする.
解答方法
def solution(answers):
re = [0,0,0]
turn = []
t_1 = [1,2,3,4,5]
t_2 = [2,1,2,3,2,4,2,5]
t_3 = [3,3,1,1,2,2,4,4,5,5]
for i in range(len(answers)):
if answers[i]==t_1[(i%5)]:
re[0] +=1
if answers[i]==t_2[(i%8)]:
re[1] +=1
if answers[i]==t_3[(i%10)]:
re[2] +=1
for i in range(3):
if re[i] == max(re):
turn.append(i+1)
return turn
Reference
この問題について(Level 1. 模擬試験), 我々は、より多くの情報をここで見つけました https://velog.io/@pear_min/ProgrammersLevel-1-모의고사テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol