티스토리 뷰
[백준] 쉬운 계단 수 (10844번 : https://www.acmicpc.net/problem/10844)
문제
45656이란 수를 보자.
이 수는 인접한 모든 자리수의 차이가 1이 난다. 이런 수를 계단 수라고 한다.
세준이는 수의 길이가 N인 계단 수가 몇 개 있는지 궁금해졌다.
N이 주어질 때, 길이가 N인 계단 수가 총 몇 개 있는지 구하는 프로그램을 작성하시오. (0으로 시작하는 수는 없다.)
입력
첫째 줄에 N이 주어진다. N은 1보다 크거나 같고, 100보다 작거나 같은 자연수이다.
출력
첫째 줄에 정답을 1,000,000,000으로 나눈 나머지를 출력한다.
예제 입력 1
1
예제 출력 1
9
예제 입력 2
2
예제 출력 2
17
[나의 문제 풀이]
1. D[N] = 길이가 N인 계단 수의 개수이다. D[N]을 구해야 하는데 다이나믹 프로그래밍을 써야 하는 이유는 다음과 같다
** D[1] = 9개 1, 2, 3, 4, 5, 6, 7, 8, 9 이렇게 한 자리수 9개가 계단 수가 된다.
** D[2] = 17개 왜냐하면 D[1]에 나열된 숫자 앞 혹은 뒤에 차이가 1씩 나게 숫자를 넣어주면 되기 때문이다.
ex) 10 12 23 34 45 56 67 78 89
21 32 43 54 65 76 87 98 이렇게 D[1]에서의 앞 혹은 뒤에 1차이나는 숫자를 붙이기만 하면 되기 때문이다.
ex) D[3]의 경우에도 D[2]에서 구한 숫자들에서 마지막 자리수보다 +1, -1인 숫자들로 나열할 수 있다.
12(3) 12(1) 이렇게 2가지 경우가 나올 수 있다.
2. D[N]=D[N-1]+D[N-2]+1 여기서 1은 0이 포함 될 때의 경우
3.
'Computer Science' 카테고리의 다른 글
[네트워크] TCP/ IP 캡슐화 (0) | 2018.09.20 |
---|---|
[백준] 오르막수 11057번 (0) | 2018.09.16 |
[네트워크] TCP/IP 프로토콜 모델 (0) | 2018.09.16 |
[네트워크] OSI 7 레이어는 무엇인가? (0) | 2018.09.16 |
[카카오 코딩테스트]OpenChatting (0) | 2018.09.15 |
- Total
- Today
- Yesterday
- 항해플러스백엔드
- pop_back
- 내년은 빡세게!!
- 파라메터
- 항해플러스후기
- 2023년
- 깃허브
- 폭포수
- 재테크공부
- push_back
- GIT
- resize
- 열반스쿨기초반
- 개발자 회고
- docker
- Inception
- front
- 월부닷컴
- 부동산공부
- 항해솔직후기
- 월급쟁이부자들
- github
- Spring boot
- ```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````
- 도커
- 유즈케이스
- Use case
- 인셉션
- 관계대수
- 깃
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |