[プログラマー]Brute Force Search模擬試験
9061 ワード
[プログラマー]>テストコード>完全探索>シミュレーション試験
1.問題の説明
数学は数学を放棄する人の略語である.「囚人3人組」は模擬試験で数学の問題を全部撮りたいと思っている.最初の問題から最後の問題まで、執胞子は以下の通りである.
1.制限条件試験には最大10000問が含まれています. 題の正解は1,2,3,4,5の1つです. 点数が一番高い人が何人かいる場合は、返される値を昇順に並べてください. 2.I/O例
answersreturn[1,2,3,4,5][1][1,3,2,4,2][1,2,3]
2.解答
アルゴリズムの実施に重点を置き,3人の採点を同時に行うことができる.
各インデックスは採点され、各人の答えがテーブルのサイズに一致する条件を提供します.与えられたすべての問題が採点された場合、文を終了し、最も多くの答えを見つけて、条件に合致する人を見つけます.
1.問題の説明
数学は数学を放棄する人の略語である.「囚人3人組」は模擬試験で数学の問題を全部撮りたいと思っている.最初の問題から最後の問題まで、執胞子は以下の通りである.
1번 수포자가 찍는 방식: 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, ...
2번 수포자가 찍는 방식: 2, 1, 2, 3, 2, 4, 2, 5, 2, 1, 2, 3, 2, 4, 2, 5, ...
3번 수포자가 찍는 방식: 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, ...
最初の問題から最後の問題までの正解が順番に並んでいる場合は、最も多くの質問に答えた人が誰なのか、答えを並べて返すように解答関数を書いてください.1.制限条件
answersreturn[1,2,3,4,5][1][1,3,2,4,2][1,2,3]
2.解答
アルゴリズムの実施に重点を置き,3人の採点を同時に行うことができる.
各インデックスは採点され、各人の答えがテーブルのサイズに一致する条件を提供します.与えられたすべての問題が採点された場合、文を終了し、最も多くの答えを見つけて、条件に合致する人を見つけます.
def solution(answers):
answer = []
# 각 사람의 정답 찍기 리스트
first = [1,2,3,4,5]
second = [2,1,2,3,2,4,2,5]
third = [3,3,1,1,2,2,4,4,5,5]
# 주어진 정답을 비교할 수 있게 사용할 인덱스를 정의
ans_idx = 0
first_idx = 0
second_idx = 0
third_idx = 0
# 각 수포자 순서대로 맞춘 정답 수 입력 리스트
score = [0, 0, 0]
# 정답 채점!!
while True:
# 각 사람의 정답 찍기 리스트 크기를 넘어가면 자동으로 처음 원소(0)로 변환
if first_idx == len(first):
first_idx = 0
if second_idx == len(second):
second_idx = 0
if third_idx == len(third):
third_idx = 0
# 문제의 정답과 각 사람의 답
ans = answers[ans_idx]
fir = first[first_idx]
sec = second[second_idx]
thi = third[third_idx]
# 정답 비교!!
if fir == ans:
score[0] += 1
if sec == ans:
score[1] += 1
if thi == ans:
score[2] += 1
# 다음 문제의 인덱스(순번)
ans_idx += 1
first_idx += 1
second_idx += 1
third_idx += 1
# 문제가 끝났다면 while 문 탈출
if ans_idx == len(answers):
break
# 최고 점수 정의
high_score = max(score)
# 자신의 점수가 최고 점수와 같다면 answer 리스트에 추가
for idx, sco in enumerate(score):
if sco == high_score:
answer.append(idx + 1)
return answer
Reference
この問題について([プログラマー]Brute Force Search模擬試験), 我々は、より多くの情報をここで見つけました https://velog.io/@kim-mg/프로그래머스-모의고사テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol