[개발]programmers/Python3

Lv.1_모의고사

dowon 2023. 6. 30. 16:31

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

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

def solution(answers):
    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]
    score = [0] * 3
    result = []
    
    for idx, answer in enumerate(answers):
        if answer == one[idx % len(one)]:
            score[0] += 1
        if answer == two[idx % len(two)]:
            score[1] += 1
        if answer == three[idx % len(three)]:
            score[2] += 1
            
    for idx, s in enumerate(score):
        if s == max(score):
            result.append(idx + 1)
    return result

enumerate: index와 값 반환해주는 함수

리스트에서 돌아가면서 반복될 경우, 리스트의 길이를 늘리는 대신 enumerate 함수를 사용하고

%를 사용하여 리스트 안에서 반복되는 것을 생각하자