01-09 18:44
Recent Posts
Recent Comments
๊ด€๋ฆฌ ๋ฉ”๋‰ด

miinsun

[BAEKJOON] ๋ฐฑ์ค€ DP 11057 :: ์˜ค๋ฅด๋ง‰ ์ˆ˜ JAVA ๋ณธ๋ฌธ

Algorithm/Baekjoon

[BAEKJOON] ๋ฐฑ์ค€ DP 11057 :: ์˜ค๋ฅด๋ง‰ ์ˆ˜ JAVA

miinsun 2022. 3. 22. 15:45

 

๐Ÿ’ฌ  ๋ฌธ์ œ ์„ค๋ช…

์˜ค๋ฅด๋ง‰ ์ˆ˜๋Š” ์ˆ˜์˜ ์ž๋ฆฌ๊ฐ€ ์˜ค๋ฆ„์ฐจ์ˆœ์„ ์ด๋ฃจ๋Š” ์ˆ˜๋ฅผ ๋งํ•œ๋‹ค. ์ด๋•Œ, ์ธ์ ‘ํ•œ ์ˆ˜๊ฐ€ ๊ฐ™์•„๋„ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์นœ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด, 2234์™€ 3678, 11119๋Š” ์˜ค๋ฅด๋ง‰ ์ˆ˜์ด์ง€๋งŒ, 2232, 3676, 91111์€ ์˜ค๋ฅด๋ง‰ ์ˆ˜๊ฐ€ ์•„๋‹ˆ๋‹ค.

์ˆ˜์˜ ๊ธธ์ด N์ด ์ฃผ์–ด์กŒ์„ ๋•Œ, ์˜ค๋ฅด๋ง‰ ์ˆ˜์˜ ๊ฐœ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. ์ˆ˜๋Š” 0์œผ๋กœ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

๐Ÿ”จ  ์ž…์ถœ๋ ฅ ์˜ˆ

์ž…๋ ฅ 

  • ์ฒซ์งธ ์ค„์— N (1 ≤ N ≤ 1,000)์ด ์ฃผ์–ด์ง„๋‹ค.
 

 

์ถœ๋ ฅ

  • ์ฒซ์งธ ์ค„์— ๊ธธ์ด๊ฐ€ N์ธ ์˜ค๋ฅด๋ง‰ ์ˆ˜์˜ ๊ฐœ์ˆ˜๋ฅผ 10,007๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.

 

์˜ˆ์ œ ์ž…๋ ฅ 1)

1

 

์˜ˆ์ œ ์ถœ๋ ฅ 1)

10

 

์˜ˆ์ œ ์ž…๋ ฅ 2)

2

 

์˜ˆ์ œ ์ถœ๋ ฅ 2)

55

โ€‹

์˜ˆ์ œ ์ž…๋ ฅ 3)

3

 

์˜ˆ์ œ ์ถœ๋ ฅ 3)

220

 

โ€‹

๐Ÿ’ป  Main.java

  • dy[i][j] 2์ฐจ์› ๋ฐฐ์—ด์— ์ •๋ณด๋ฅผ ์ €์žฅํ•˜์ž. dy[2][5] 2๋ฒˆ์งธ ์ž๋ฆฌ์— 5๋ผ๋Š” ์ˆซ์ž๊ฐ€ ๋“ค์–ด์˜ฌ ๊ฐœ์ˆ˜๋ฅผ ๋‹ด๋Š”๋‹ค.
  • ์ ํ™”์‹์œผ๋กœ ๋‚˜ํƒ€๋‚ด๋ฉด dy[i][j] += dy[i-1][0๋ถ€ํ„ฐ j๊นŒ์ง€์˜ ๋ชจ๋“  ์ˆ˜]
 /* ๋ฐฑ์ค€ DP - 11057 :: ์˜ค๋ฅด๋ง‰ ์ˆ˜ */
import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		int[][] dy = new int[n + 1][10];
		
		for(int i = 0; i < 10; i++) {
			dy[1][i] = 1;
		}
		
		for(int i = 2; i <= n; i++) {
			for(int j = 0; j < 10; j++) {
				for(int k = 0; k <= j; k++) {
					dy[i][j] += dy[i - 1][k];
					dy[i][j] = dy[i][j] % 10007;
				}
			}
		}
		
		int total = 0;
		for(int i : dy[n]) {
			total += i;
		}
		
		System.out.println(total % 10007);
		
		sc.close();
	} 
}
Comments