장성호's
장성호's blog
장성호's
  • 분류 전체보기
    • 알고리즘
      • 백준
      • 이론
    • WEB
      • Spring 인강
      • 네트워크
    • 개인 프로젝트
      • 쇼핑몰 만들기

블로그 메뉴

  • 홈
  • 깃허브
전체 방문자
오늘
어제
반응형
hELLO · Designed By 정상우.
장성호's

장성호's blog

[C++] BOJ 11057 오르막 수
알고리즘/백준

[C++] BOJ 11057 오르막 수

2021. 12. 29. 15:31
반응형

 

 

 

 

문제 출처

백준 온라인 저지

https://www.acmicpc.net/problem/11057

 

11057번: 오르막 수

오르막 수는 수의 자리가 오름차순을 이루는 수를 말한다. 이때, 인접한 수가 같아도 오름차순으로 친다. 예를 들어, 2234와 3678, 11119는 오르막 수이지만, 2232, 3676, 91111은 오르막 수가 아니다. 수

www.acmicpc.net

 

문제 

 

문제 입 / 출력

 

풀이

DP를 활용해서 푼다

i 는 오르막 수의 길이를 나타내고, j는 오르막수의 끝나는 수를 나타낼 경우

  • dp[i][j] = dp[i - 1][0] + dp[i - 1][1] + … + dp[i - 1][j - 1] + dp[i - 1][j]

로 식을 사용해서 표현할 수 있다

 

코드

#include <iostream>

using namespace std;

int dp[1001][11];
const int mod = 10007;

int main() {
  int n;
  long long result = 0;
  cin >> n;

  for (int i = 0; i <= 9; i++)
    dp[1][i] = 1;

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

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

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

 

반응형
저작자표시 비영리 변경금지 (새창열림)

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

[C++] BOJ 11053 가장 긴 증가하는 부분 수열  (0) 2022.01.01
[C++] BOJ 2193 이친수  (0) 2021.12.29
[C++] BOJ 10844 쉬운 계단 수  (0) 2021.12.29
[C++] BOJ 9095 1, 2, 3 더하기  (0) 2021.12.28
[C++] BOJ 11726번 2*N 타일링 2  (0) 2021.12.28
    '알고리즘/백준' 카테고리의 다른 글
    • [C++] BOJ 11053 가장 긴 증가하는 부분 수열
    • [C++] BOJ 2193 이친수
    • [C++] BOJ 10844 쉬운 계단 수
    • [C++] BOJ 9095 1, 2, 3 더하기
    장성호's
    장성호's
    장성호's 개발 공부 블로그

    티스토리툴바