アルゴリズム/プログラマー/完全ナビゲーション/レベル1/シミュレーション試験(Python使用)


📖 質問する



📝 解法

  • 逮捕者の撮影方式をそれぞれリストに入れた.
  • 1問から最後の問までの正解を捕虜が撮った答えと比較し,正解するとその捕虜のインデックスscoreに+1を加算する.
  • で最も多く打たれた人のインデックスを答えのリストに入れます.
  • パスワード

    def solution(answers):
        answer = []
        score = [0] * 4
        # 1. 수포자들이 찍는 방식을 각각 리스트에 담아놓는다.
        one = [1, 2, 3, 4, 5]
        two = [2, 1, 2, 3, 2, 4, 2, 5]
        three = [3, 3, 1, 1, 2, 2, 4, 4, 5, 5]
        
        # 2. 1번 문제부터 마지막 문제까지의 정답과 수포자들의 찍은 답을 비교한다.
        for i in range(len(answers)):
            ans = answers[i]
            if ans == one[i % 5]:
                score[1] += 1
            if ans == two[i % 8]:
                score[2] += 1
            if ans == three[i % 10]:
                score[3] += 1
                
        # 3. 가장 많이 맞는 사람 index를 answer리스트에 담는다.
        maximum = max(score)
        for i in range(1, len(score)):
            if score[i] == maximum:
                answer.append(i)
        
        return answer

    💡新しい認識の文法


    enumerate()

  • リストの要素を繰り返す場合、現在のインデックスも知りたい場合は使用します.
  • scores = ["A", "B", "C"]
    for idx, score in enumerate(scores):
        	print("{}번째 학생의 점수는 {}입니다.".format(idx,score))
  • 以上のコード結果
  • 0번째 학생의 점수는 A입니다.
    1번째 학생의 점수는 B입니다.
    2번째 학생의 점수는 C입니다.