๋ฌธ์ (์ถ์ฒ: https://www.acmicpc.net/problem/11057)
< ์ค๋ฅด๋ง ์ >
๋ฌธ์ ํ์ด
dp๋ฅผ ์ฌ์ฉํ์ฌ ์๋ฆฟ์๊ฐ ๋์ด๋ ์๋ก ํ์ฌ ๊ฐ๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ๋์ ๊ฒฝ์ฐ์ ์๋ฅผ ๋ํ๋ค.
my solution (Java)
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class _11057_ { // ์ค๋ฅด๋ง ์
public static void main(String[] args) throws IOException {
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(bf.readLine());
int dp[][] = new int[n + 1][10];
for (int i = 0; i < 10; i++) {
dp[1][i] = 1;
}
for (int i = 2; i < n + 1; i++) {
for (int j = 0; j < 10; j++) {
for (int k = 0; k <= j; k++) {
dp[i][j] = (dp[i][j] + dp[i - 1][k]) % 10007;
}
}
}
int result = 0;
for (int i = 0; i < 10; i++) {
result = (result + dp[n][i]) % 10007;
}
System.out.println(result);
}
}
๋ณ์)
n : ์ ๋ ฅ๊ฐ
dp : 1~N์ธ ์ค๋ฅด๋ง ์
result : ๊ธธ์ด๊ฐ N์ธ ์ค๋ฅด๋ง ์
n์ ์ ๋ ฅ๋ฐ๋๋ค. 1 ์๋ฆฟ์์ผ ๋๋ ๊ฐ ๊ฒฝ์ฐ์ ์๊ฐ 1๊ฐ์ด๋ฏ๋ก dp[1][0~9]๋ฅผ 1๋ก ์ด๊ธฐํํ๋ค. ๋ค์ ์๋ฆฟ์๋ถํฐ๋ ํ์ฌ ๊ฐ๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ๊ฐ์ ๋ํด์ผ ํ๋ค.
์ต์ข dp[n][0~9] ๊ฐ์ ๋ํด ์ถ๋ ฅํ๋ค.

'๐Algorithm > ๐ฅBaekjoon' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [Baekjoon] 10844_์ฌ์ด ๊ณ๋จ ์ (0) | 2026.01.14 |
|---|---|
| [Baekjoon] 2688_์ค์ด๋ค์ง ์์ (0) | 2026.01.12 |
| [Baekjoon] 9711_ํผ๋ณด๋์น (0) | 2026.01.09 |
| [Baekjoon] 1965_์์๋ฃ๊ธฐ (0) | 2026.01.08 |
| [Baekjoon] 2294_๋์ 2 (0) | 2026.01.07 |