模擬試験[第1級]Python
1536 ワード
問題の説明
数学は数学を放棄する人の略語である.「囚人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...
最初の問題から最後の問題までの正解が順番に並んでいる場合は、最も多くの質問に答えた人が誰なのか、答えを並べて返すように解答関数を書いてください.
せいげんじょうけん
I/O例
I/O例説明
I/O例#1
I/O例#2
コード#コード#
def solution(answers):
pattern_answer = [[1, 2, 3, 4, 5], [2, 1, 2, 3, 2, 4, 2, 5], [3, 3, 1, 1, 2, 2, 4, 4, 5, 5]] # 5, 8, 10 개
correct_list = [0]*3
# [1, 3, 2, 4, 2, 1, 2, 3, 4, 5] -> 10문제의 답안지
for i in range(len(answers)):
if answers[i] == pattern_answer[0][i % len(pattern_answer[0])]: correct_list[0] += 1
if answers[i] == pattern_answer[1][i % len(pattern_answer[1])]: correct_list[1] += 1
if answers[i] == pattern_answer[2][i % len(pattern_answer[2])]: correct_list[2] += 1
max_num = max(correct_list)
if correct_list.count(max_num) == 1: return [correct_list.index(max_num)+1] # 가장 높은 점수를 받은 사람이 한명
else: return [i+1 for i in range(3) if max_num == correct_list[i]] # 가장 높은 점수를 받은 사람이 여럿일 경우
Reference
この問題について(模擬試験[第1級]Python), 我々は、より多くの情報をここで見つけました https://velog.io/@skrudfhr02/모의고사-Level-1-Pythonテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol