연권
달콘박스
연권
전체 방문자
오늘
어제
  • 전체 (308)
    • Web (22)
      • JavaScript (8)
      • TypeScript (2)
      • Node.js (8)
      • HTML (0)
      • CSS (0)
      • Network (1)
      • Browser (0)
      • Patterns (3)
    • Framwork (4)
      • Vue.js (3)
      • Electron (1)
    • Infra&DevOps (1)
    • Algorithm (246)
    • Database (16)
    • Review (15)
    • Test (4)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • javascript
  • 백트레킹
  • BFS
  • 알고리즘
  • MySQL
  • DP
  • 동적계획법
  • typescript
  • sql
  • 정렬
  • 프로그래머스
  • 진수
  • java
  • 백준ㅇ
  • 백준
  • 문자열
  • 재귀
  • 스택
  • 진법
  • 코딩테스트 연습

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
연권

달콘박스

백준 2579번 계단 오르기 [ Java ]
Algorithm

백준 2579번 계단 오르기 [ Java ]

2020. 3. 28. 16:38
반응형
 

2579번: 계단 오르기

계단 오르기 게임은 계단 아래 시작점부터 계단 꼭대기에 위치한 도착점까지 가는 게임이다. <그림 1>과 같이 각각의 계단에는 일정한 점수가 쓰여 있는데 계단을 밟으면 그 계단에 쓰여 있는 점수를 얻게 된다. 예를 들어 <그림 2>와 같이 시작점에서부터 첫 번째, 두 번째, 네 번째, 여섯 번째 계단을 밟아 도착점에 도달하면 총 점수는 10 + 20 + 25 + 20 = 75점이 된다. 계단 오르는 데는 다음과 같은 규칙이 있다. 계단은 한 번에 한 계단씩

www.acmicpc.net

풀이 방법이 떠오르지 않아 구글링해서 풀었습니다.

맨 마지막 계단은 꼭 밟는 경우는 연속 3번이 불가능하기 때문에 두 가지 경우가 있습니다.

1. 이전 계단과 연속해서 밟기 ( n-1밟고 n 밟기 )
2. 이전 계단과 연속하지 않고 밟기 ( n-2밟고 n 밟기 )

첫 번째 경우부터 보면 n번째 계단을 밟기 위해선 n-2번째 계단까지 계산해준것에 n번째 계단의 숫자를 더해주어야 합니다. -> dp[n-2] + stair[n]

첫 번째 경우

두 번째 경우는 n-3번째 계단까지 계산해준 것에 n-1번째 계단의 숫자와 n번째 계단의 숫자를 더해주어야 합니다.

-> dp[n-3] + stair[n-1] + stair[n]

두 번째 경우

이 두 가지 경우에서 더 큰 경우를 선택해주면 됩니다.

 

 

반응형
저작자표시 동일조건 (새창열림)

'Algorithm' 카테고리의 다른 글

백준 1463번 1로 만들기 [ Java ]  (0) 2020.03.29
백준 10996번 별 찍기 - 21 [ Java ]  (0) 2020.03.28
백준 2446번 별 찍기 - 9 [ Java ]  (0) 2020.03.16
백준 2523번 별 찍기 - 13 [ Java ]  (0) 2020.03.16
프로그래머스 코딩테스트 연습 SQL SUM,MAX,MIN  (0) 2020.03.12
    'Algorithm' 카테고리의 다른 글
    • 백준 1463번 1로 만들기 [ Java ]
    • 백준 10996번 별 찍기 - 21 [ Java ]
    • 백준 2446번 별 찍기 - 9 [ Java ]
    • 백준 2523번 별 찍기 - 13 [ Java ]
    연권
    연권

    티스토리툴바