Haribo ML, AI, MATH, Algorithm

스티커 모으기(2)


도둑질 문제와 100% 동일

def solution(sticker):
    if len(sticker) < 3 : return max(sticker) # 스티커갯수 3개가 안될경우
    x1, y1, z1 = sticker[0], max(sticker[:2]), max(sticker[0]+sticker[2], sticker[1]) #첫집 터는 경우
    x2, y2, z2 = 0, sticker[1], sticker[2] # 첫집 안터는 경우
    for i in sticker[3:]:
        x1, y1, z1 = y1, z1, max(x1, y1)+i
        x2, y2, z2 = y2, z2, max(x2, y2)+i
    return max(x1, y1, y2, z2)


이전 포스트 올바른 괄호의 갯수

다음 포스트 호텔 방 배정

Comments

Content