6월 1일(목) - 동적 계획법 1 (10844번)
10844번: 쉬운 계단 수
첫째 줄에 정답을 1,000,000,000으로 나눈 나머지를 출력한다.
www.acmicpc.net
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
문제점
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
풀이
(C언어 풀이 활용)
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int N = Integer.parseInt(br.readLine());
int[][] dp = new int[N+1][10];
for(int i=1; i<10; i++)
{
dp[1][i] = 1;
}
dp[1][0] = 0;
for(int i=2; i<N+1; i++)
{
for(int j=0; j<10; j++)
{
if(j == 0)
{
dp[i][j] = dp[i-1][1] % 1000000000;
}
else if(j == 9)
{
dp[i][j] = dp[i-1][8] % 1000000000;
}
else
{
dp[i][j] = ( dp[i-1][j-1] + dp[i-1][j+1] ) % 1000000000;
}
}
}
int sum = 0;
for(int i=0; i<10; i++)
{
sum = ( sum + dp[N][i] ) % 1000000000;
}
System.out.println(sum);
}
}
ㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡㅡ
'백준(Java) > 23년 6월' 카테고리의 다른 글
[Java] 백준 - 11660번: 구간 합 구하기 5 (0) | 2023.06.09 |
---|---|
[Java] 백준 - 2559번: 수열 (0) | 2023.06.07 |
[Java] 백준 - 11659번: 구간 합 구하기 4 (0) | 2023.06.06 |
[Java] 백준 - 11053번: 가장 긴 증가하는 부분 수열 (0) | 2023.06.05 |
[Java] 백준 - 2156번: 포도주 시식 (0) | 2023.06.02 |
댓글