본문 바로가기
코딩테스트 준비/백준 C#

백준 C# - 15988 +) 풀이

by 코딩하는 돼징 2023. 12. 4.
반응형

이 문제를 풀기 앞서 아래 문제를 먼저 풀고 오는 것을 추천한다.

백준 C# - 9095

 

백준 C# - 9095 +)풀이

DP를 이용해서 풀어야한다. DP알아보러 가기 C# - 다이나믹 프로그래밍(DP) 다이나믹 프로그래밍 메모리를 적절히 사용하여 수행 시간 효율성을 향상 시키는 최적화 기법중 하나이다. 큰 문제를 작

code-piggy.tistory.com


점화식 부분은 9095와 동일하다.

01 케이스 T

다른 부분이 있다면 케이스 T가 추가되었다. 

while (T > 0)
{
    int N = int.Parse(Console.ReadLine());
    Console.WriteLine(dp[N-1] % 1000000009);
    T--;
}

 


02 % 1000000009

모듈려 연산

 

C# - 모듈러 연산(나머지 분배 법칙)

백준에서 DP관련 문제를 풀때 출력 부분에 큰 수로 나눈 나머지를 구하라는 부분이 계속 있어서 이부분이 왜 필요한지 자세히 알고 싶어졌다. 모듈러(Modulo) 나눗셈의 나머지를 계산하는 연산이

code-piggy.tistory.com


코드 전문

using System;
namespace baek2
{
    class Program
    {
        static void Main()
        {
            int T = int.Parse(Console.ReadLine());
            long[] dp = new long[1000001];
            dp[0] = 1;
            dp[1] = 2;
            dp[2] = 4;
            for (int i = 3; i < 1000001; i++)
            {
                dp[i] = (dp[i - 1] + dp[i - 2] + dp[i - 3]) % 1000000009;
            }
            while (T > 0)
            {
                int N = int.Parse(Console.ReadLine());
                Console.WriteLine(dp[N-1] % 1000000009);
                T--;
            }
        }
    }
}

 

반응형

'코딩테스트 준비 > 백준 C#' 카테고리의 다른 글

백준 C# - 1309 +) 풀이  (0) 2023.12.04
백준 C# - 1149 +) 풀이  (0) 2023.12.04
백준 C# - 10844 +)풀이  (0) 2023.12.02
백준 C# - 2193 +) 풀이  (0) 2023.12.02
백준C# - 16194 +) 풀이  (0) 2023.12.01

댓글