2/프로그래머스

프로그래머스 연습 문제 - 모의 고사

하례은 2020. 9. 19. 02:25

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

 

코딩테스트 연습 - 모의고사

수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. 1번 수포자가 찍는 ��

programmers.co.kr

완전 탐색.

1단계지만 오래걸렸다...

 

 

def solution(answers):
    answer = [0]*3
    supo = {
        1 : [1,2,3,4,5]*len(answers),
        2 : [2,1,2,3,2,4,2,5]*len(answers),
        3 : [3,3,1,1,2,2,4,4,5,5]*len(answers)
    }
    
    for i in range(1,4):
        for x, y in zip(answers,supo[i]):
            if x == y :
                answer[i-1] += 1
    
    mx = answer.index(max(answer))
    am = []
    am.append(mx+1)

    for i in range(3):
        if i != mx:
            if answer[i] == answer[mx]:
                am.append(i+1)
        
    return am

 

풀면서 어떻게 하면 코드를 줄일 수 있을지 생각을 좀 많이했다. 원래는 문제 하나 당 맞은 사람을 전부 나열하여 풀었는데 어쩌피 count()함수를 쓸거면 걍 처음부터 맞은 문제를 count하자 하여 이렇게 풀었다.

간단한듯...간단하지않은.....넘 오래걸린듯.