[プログラマー/python]完全探索シミュレーション試験



https://programmers.co.kr/learn/courses/30/lessons/42840

アルゴリズム分類

  • ブルートフォース
  • 問題を解く


    correctリストには、各受信者が正解した問題数が格納されます.
    対応する問題数を小胞子とともに保存し,正解の多い順に降順に配列した.
    次いで、対応するデジタル胞子(インデックス)が出力される.

    ソースコード

    def solution(answers):
        stu1=[1,2,3,4,5]*2000
        stu2=[2,1,2,3,2,4,2,5]*1250
        stu3=[3,3,1,1,2,2,4,4,5,5]*1000
    
        correct=[0,0,0]
        for i in range(len(answers)):
            if answers[i]==stu1[i]:
                correct[0]+=1
            if answers[i]==stu2[i]:
                correct[1]+=1
            if answers[i]==stu3[i]:
                correct[2]+=1
    
        array=[]
        for i in range(3):
            array.append((correct[i],i+1))
    
        array.sort(key=lambda x: (-x[0]))
    
        result=[]
        temp=0
        for i in array:
            value,index=i
            if value>=temp:
                result.append(index)
                temp=value
        return result