본문 바로가기
프로그래밍/알고리즘 & 자료구조

[프로그래머스] 모의고사 with 파이썬

by Play_With 2023. 4. 23.
반응형

[프로그래머스] 모의고사 with 파이썬

 

 

나머지(%)를 활용하여 주기적으로 반복되는 경우를 처리할 수 있다.

def solution(a):
    n1 = [1, 2, 3, 4, 5]
    n2 = [2, 1, 2, 3, 2, 4, 2, 5]
    n3 = [3, 3, 1, 1, 2, 2, 4, 4, 5, 5]
    r = [0] * 3

    for idx, i in enumerate(a):
        if i == n1[idx % len(n1)]:
            # 리스트의 인덱스를 통해 특정 조건이 만족한 경우의 수를 누적
            r[0] += 1

        if i == n1[idx % len(n2)]:
            r[1] += 1

        if i == n1[idx % len(n3)]:
            r[2] += 1

    k = []
    for idx, i in enumerate(r):
        if i == max(r):
            k.append(idx + 1)

    return k

 

 

반응형

댓글