Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- MCU 딥러닝
- tflite
- DP문제
- 컴퓨팅사고
- 코테
- dfs문제
- 임베디드 딥러닝
- 자료구조
- 포스코 ai 교육
- 삼성역테
- 그리디
- 삼성코딩테스트
- 알고리즘
- 딥러닝
- 삼성역량테스트
- DP
- tinyml
- 코딩테스트
- BFS
- sort
- dfs
- 코테 문제
- 삼성코테
- 다이나믹프로그래밍
- 초소형머신러닝
- 포스코 교육
- TensorFlow Lite
- 영상처리
- 포스코 AI교육
- bfs문제
Archives
- Today
- Total
코딩뚠뚠
[백준문제풀이] 10844 쉬운 계단 수 본문
반응형
풀이일시 : 2020-12-28
문제 :
45656이란 수를 보자.
이 수는 인접한 모든 자리수의 차이가 1이 난다. 이런 수를 계단 수라고 한다.
세준이는 수의 길이가 N인 계단 수가 몇 개 있는지 궁금해졌다.
N이 주어질 때, 길이가 N인 계단 수가 총 몇 개 있는지 구하는 프로그램을 작성하시오. (0으로 시작하는 수는 없다.)
입력 :
첫째 줄에 N이 주어진다. N은 1보다 크거나 같고, 100보다 작거나 같은 자연수이다.
ex) 2
출력 :
첫째 줄에 정답을 1,000,000,000으로 나눈 나머지를 출력한다.
ex) 17
풀이 :
DP문제이다. 즉 점화식을 세워봐야한다.
입력받은 수 까지 DP를 수행해주면 될 것이다.
DP[i][j] 에서 i는 입력받은 수 (수의 길이를 나타냄), 즉 DP시 1에서부터 N까지 하나씩 올라갈 수이다.
j는 맨 끝수를 뜻한다. 만약 j가 0이라면 DP[i][j]에는 DP[i-1]번째에서 [j+1]번째의 수를 받을것이다.
예를들면 이전 DP의 1에의 경우의 수를 그대로 받는다는 의미로, 확장이 불가하다는 뜻이다.
좀더 쉽게 풀이하면 0은 붙어있는 수가 -1과 1인데 -1로는 뻗어갈 수 없으니 1로만 확장한다.
마찬가지로 9는 8과 10으로 뻗어갈 수 있는데 10으로는 뻗을 수 없기때문에 8로만 뻗어나간다.
이외의 경우에는 전부 두 가지로 뻗어나갈 수 있을것이다.
전부 수행한 후 sum하여 출력한다.
//점화식 세우는데서 문제
//long long 형에서 문제
#include <iostream>
using namespace std;
const int MAX = 101;
int N;
long long DP[MAX][10];
long long sum = 0;
//점화식을 세우자
void solution(int n) {
DP[1][0] = 0;
for (int i = 1; i <= 9;i++) {
DP[1][i] = 1;
}
for (int i = 2; i <= n; i++) { //길이
for (int j = 0; j <= 9; j++) {
if (j == 0) {
DP[i][j] = DP[i - 1][j + 1]%1000000000;
}
else if (j == 9) {
DP[i][j] = DP[i - 1][j - 1]%1000000000;
}
else
DP[i][j] = (DP[i - 1][j - 1] + DP[i - 1][j + 1])%1000000000;
}
}
for (int i = 0; i <= 9; i++) {
sum += DP[n][i];
}
}
int main() {
cin >> N;
solution(N);
cout << sum%1000000000<<'\n';
return 0;
}
반응형
'알고리즘 문제풀이 > 백준문제풀이' 카테고리의 다른 글
[백준문제풀이] 2193 이친수 (0) | 2021.01.04 |
---|---|
[백준문제풀이] 11057 오르막 수 (0) | 2021.01.04 |
[백준문제풀이] 1167 트리의 지름 (0) | 2021.01.04 |
[백준문제풀이] 11725 트리의 부모 찾기 (0) | 2021.01.04 |
[백준문제풀이] 1991 트리 순회 (0) | 2021.01.04 |