[Python] 2579번 계단 오르기

2025. 5. 18. 00:49·coding test/Baekjoon

https://www.acmicpc.net/problem/2579

 

n = int(input())
stair = [0]  # 1-based indexing

for _ in range(n):
    stair.append(int(input()))

if n == 1:
    print(stair[1])
elif n == 2:
    print(stair[1] + stair[2])
else:
    dp = [0] * (n + 1)
    dp[1] = stair[1]
    dp[2] = stair[1] + stair[2]

    for i in range(3, n + 1):
        dp[i] = max(
            dp[i - 2] + stair[i],                  # 2칸 오르기
            dp[i - 3] + stair[i - 1] + stair[i]    # 1칸 + 1칸 오르기
        )

    print(dp[n])

 

'coding test > Baekjoon' 카테고리의 다른 글

[Python] 1149번 RGB거리  (0) 2025.05.18
[Python] 9095번 1, 2, 3 더하기  (0) 2025.05.18
[Python] 13913번 숨바꼭질 4  (0) 2025.05.08
[Python] 1991번 트리 순회  (0) 2025.05.08
[Python] 24444번 알고리즘 수업 - 너비 우선 탐색 1  (0) 2025.04.23
'coding test/Baekjoon' 카테고리의 다른 글
  • [Python] 1149번 RGB거리
  • [Python] 9095번 1, 2, 3 더하기
  • [Python] 13913번 숨바꼭질 4
  • [Python] 1991번 트리 순회
wish404
wish404
자동 로그
  • wish404
    wish-log
    wish404
    • 홈
    • 태그
    • 방명록
    • github
    • 분류 전체보기 (75) N
      • log (8)
        • 블로그 관리 (5)
        • 에러 모음 (2)
      • coding test (47)
        • Algorithm (4)
        • Baekjoon (34)
        • SW Expert Academy (6)
        • etc (3)
      • 프로그래밍 언어 (7)
        • JAVA (7)
      • 데이터 엔지니어링 (5)
        • Kafka (0)
        • Spark (4)
        • Airflow (1)
        • Elasticsearch (0)
      • 머신러닝&딥러닝 (3)
        • Kaggle 스터디 (3)
        • 논문 리뷰 (0)
        • MLOps (0)
      • 신입 개발자가 되기까지 (5) N
        • 취준일기 (1)
        • SSAFY (2)
        • 프로젝트 (1) N
        • CS 공부 (1)
  • 인기 글

  • 태그

    복습
    dijk
    BFS
    벨만포드
    그리디 알고리즘
    dp
    싸피
    틀린문제
    Dijkstra
    다익스트라
    dfs
    복습해야지
    최단 경로
    SSAFY
    플로이드워샬
    그리디
    전위순회
    heapq
    중위순회
    후위순회
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
wish404
[Python] 2579번 계단 오르기
상단으로

티스토리툴바