티스토리 뷰
문제 링크
https://www.acmicpc.net/problem/10844
N이 1일 때는 1부터 9까지 총 9가지 계단이 있습니다.
N이 2일 때 부터는 오른쪽 숫자를 기준으로
0일 때는 왼쪽에서 1 밖에 오지 못하므로 10 한개
1~8일 때는 (21, 31), (12, 32), (23, 43), ... 과 같이 왼쪽에서 -1과 +1의 숫자가 올 수 있습니다.
9일 때는 왼쪽에서 8 밖에 오지 못하므로 89 한개로 완성됩니다.
따라서 다음 점화식으로 총 계단 수를 구할 수 있습니다.
d[N][M] (M = 0~9) =
if M = 0 then d[N-1][M+1]
if M = 9 then d[N-1][M-1]
else d[N-1][M-1] + d[N-1][M+1]
그리고 주의해야 할 점은 d[N][0]은 위의 그림처럼 첫 번째 값이 0부터 시작하는 방법의 갯수인데
문제에서는 0부터 시작하는 방법은 없다고 명시되어 있으므로 d[N][0]을 제외시켜줍니다.
구현 코드
'Coding Test > 백준' 카테고리의 다른 글
[C++/Python] 백준 2193 - 이친수 (0) | 2020.07.28 |
---|---|
[C++/Python] 백준 11057 - 오르막 수 (0) | 2020.07.27 |
[C++/Python] 백준 9095 - 1, 2, 3 더하기 (0) | 2020.07.23 |
[C++/Python] 백준 11727 - 2xn 타일링 2 (0) | 2020.07.22 |
[C++/Python] 백준 11726 - 2xn 타일링 (0) | 2020.07.21 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 스파크
- HiveQL
- 분할정복
- 코딩인터뷰 완전분석
- microwaving lunch boxes
- 하이브
- pyspark
- 종만북
- 백준
- 배열과 문자열
- 알고스팟
- C++
- 팰린드롬 구하기
- hive
- 하둡
- Jaeha's Safe
- 합친 lis
- 두니발 박사의 탈옥
- 완전탐색
- Hadoop
- import
- 외발 뛰기
- 2225
- Django
- python
- 출전 순서 정하기
- HDFS
- Sqoop
- 삼각형 위의 최대 경로
- 삼각형 위의 최대 경로 수 세기
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
글 보관함