@Eeap
velog
@Eeap
전체 방문자
오늘
어제
  • 전체 (168)
    • osam (1)
    • Cloud (21)
      • Docker (2)
      • AWS (13)
    • AI & Data (7)
    • Algorithm (76)
      • Baekjoon (75)
      • Codeforces (1)
    • Language (18)
      • Java (18)
    • Back-end (17)
      • Spring (3)
      • JSP & Servlet (12)
      • Go (2)
    • 일상 (4)
    • 기타 (8)
    • git (1)
    • Infra (9)
      • Apache Kafka (5)
      • Kubernetes (4)
      • 기타 (0)

블로그 메뉴

  • 홈
  • 태그

공지사항

인기 글

태그

  • flink
  • 티스토리챌린지
  • 인터페이스
  • AWS CodeCatalyst
  • bedrock api
  • converse api
  • Agent
  • AWS CodeStar
  • invokemodel api
  • bedrock agent
  • 심폴릭링크
  • 오블완
  • bedrock
  • Python
  • java
  • knowledge bases
  • CLASS
  • sagemaker unified studio
  • SageMaker
  • AWS CodeArtifact

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
@Eeap

velog

Algorithm/Baekjoon

2579번 파이썬

2022. 3. 26. 19:21
반응형

n번째 계단을 밟았을 때 최댓값을 구하는 경우는

1. n-1번째 계단을 밟았을 경우

n-2번째 계단을 밟으면 안되기 때문에 n-3번째 계단까지의 최댓값에 n-1번째 계단값과 n번째 계단값을 더해준다.

2. n-2번째 계단을 밟았을 경우

n-2번째 계단까지의 최댓값에 n번째 계단값을 더해준다.

그리고 n이 1일 경우랑 2일 경우를 구분해주지 않으면 index error가 날 수 있다!

import sys
input = sys.stdin.readline
n = int(input())
ary = [int(input()) for i in range(n)]
count = [0]*301
if n == 1:
  count[1]=ary[0]
elif n == 2:
  count[2]=ary[0]+ary[1]
else:
  count[1]=ary[0]
  count[2]=ary[0]+ary[1]
  count[3]=max(ary[0]+ary[2],ary[1]+ary[2])
  for k in range(4,n+1):
    count[k]=max(count[k-3]+ary[k-2]+ary[k-1],count[k-2]+ary[k-1])

print(count[n])
반응형
저작자표시 (새창열림)

'Algorithm > Baekjoon' 카테고리의 다른 글

2573번 파이썬  (0) 2022.03.28
2468번 파이썬  (0) 2022.03.27
2108번 파이썬  (0) 2022.03.26
5014번 파이썬  (0) 2022.03.21
1697번 파이썬  (0) 2022.03.20
    'Algorithm/Baekjoon' 카테고리의 다른 글
    • 2573번 파이썬
    • 2468번 파이썬
    • 2108번 파이썬
    • 5014번 파이썬
    @Eeap
    @Eeap

    티스토리툴바