본문 바로가기
알고리즘/백준

[Java] BOJ 10844번 쉬운 계단 수

by 컴공맨 2021. 4. 8.
 

10844번: 쉬운 계단 수

첫째 줄에 정답을 1,000,000,000으로 나눈 나머지를 출력한다.

www.acmicpc.net


풀이

DP를 이용해서 풀었습니다.

 

2자리 이상의 숫자부터는 0이 뒤에 포함될 수 있으므로 j = 0부터 시작하고 총 개수를 셀때에도 0부터 세어야합니다.


코드

#include <iostream>
using namespace std;

long long d[101][10];
long long mod = 1000000000LL;

int main()
{
	ios_base::sync_with_stdio(false);
	cin.tie(nullptr);
	cout.tie(nullptr);

	int n;
	long long result = 0;

	cin >> n;

	for (int i = 1; i <= 9; ++i)
	{
		d[1][i] = 1;
	}

	for (int i = 2; i <= n; ++i)
	{
		for (int j = 0; j <= 9; ++j)
		{
			if (j - 1 >= 0)
			{
				d[i][j] += d[i - 1][j - 1];
			}
			if (j + 1 <= 9)
			{
				d[i][j] += d[i - 1][j + 1];
			}
			d[i][j] %= mod;
		}
	}

	for (int i = 0; i <= 9; ++i)
	{
		result += d[n][i];
	}

	cout << result % mod << "\n";
}

 

pyo7410/Algorithm

1일 1커밋을 목표로! Contribute to pyo7410/Algorithm development by creating an account on GitHub.

github.com

 

'알고리즘 > 백준' 카테고리의 다른 글

[Java] BOJ 14501번 퇴사  (0) 2021.04.14
[Java] BOJ 11727번 2xn 타일링 2  (0) 2021.04.09
[Java] BOJ 1912번 연속합  (0) 2021.04.07
[Java] BOJ 2156번 포도주 시식  (0) 2021.04.02
[Java] BOJ 2193번 이친수  (0) 2021.04.01