プログラマー「模擬試験(42840回)」


問題の説明


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例



    I/O例説明


    I/O例#1
  • 捕手1はすべての質問に答えた.
  • 捕獲者2はすべての問題を間違えた.
  • 捕獲者3はすべての問題を間違えた.
  • だから一番多くの質問に答えた人は水泡子です.
    I/O例#2
  • 誰もが2つの問題に答えた
  • に答える

    def solution(answers):
    
        sols = [[1,2,3,4,5],[2,1,2,3,2,4,2,5],[3,3,1,1,2,2,4,4,5,5]]
        answer = []
        result = []
        # 1,2,3번 순서로 채점
        for sol in sols:
            cnt = 0
            for i in range(len(answers)):
                # 정답지의 답과 찍은 패턴과 같을때 카운트
                if answers[i] == sol[i%int(len(sol))]:
                    cnt += 1
            answer.append(cnt)
        # enumerate()는 해당 위치와 값을 리턴해줌
        for num, score in enumerate(answer):
            # 현재 점수가 최고 점수일 경우 결과리스트에 위치 값 넣어줌
            if score  == max(answer):
                result.append(num+1)
                
        return result 
    最高の草も持ってきました.
    私の場合は1、2、3回の場合は3回採点しますが、こちらの解答は1回で終わります.
    def solution(answers):
        pattern1 = [1,2,3,4,5]
        pattern2 = [2,1,2,3,2,4,2,5]
        pattern3 = [3,3,1,1,2,2,4,4,5,5]
        score = [0, 0, 0]
        result = []
    	# 정말 깔끔하게 푸신 것 같다👍
        for idx, answer in enumerate(answers):
            if answer == pattern1[idx%len(pattern1)]:
                score[0] += 1
            if answer == pattern2[idx%len(pattern2)]:
                score[1] += 1
            if answer == pattern3[idx%len(pattern3)]:
                score[2] += 1
    	
        for idx, s in enumerate(score):
            if s == max(score):
                result.append(idx+1)
    
        return result
    enumerate()
    繰り返し文を使用する場合は、これが何回目の繰り返し文であるかを確認する必要があります.
    この時点で使用します.
    インデックス番号とコレクションの要素をtuple形式で返します.
    ソース:https://wikidocs.net/16045