반응형
규칙만 찾으면 정말 금방 풀 수 있는 문제이다.
DP 문제는 일단 경우를 모두 써서 규칙을 찾아내는 게 중요하다고 배웠다.
그래서 무작정 경우를 작성해보았다.
위 표와 같은 결과가 나온다.
위 표에서 DP[] 라는 배열을 할당했을때
- 0은 횟수(N)이 증가함에도 상관없이 1임을 알수 있었다.
- 1~9는 횟수(N)이 1일때를 제외하고, 이전에 있던 자신의 값과 바로 전값의 합임을 알 수 있었다.
즉, dp[i] = dp[i] dp[i - 1] 이라는 규칙을 얻어 낼 수 있었다.
<소스코드>
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | import java.io.FileInputStream; import java.util.Scanner; public class Main { public static void main(String args[]) throws Exception { Scanner sc = new Scanner(System.in); //Scanner sc = new Scanner(new FileInputStream("input.txt")); int N = sc.nextInt(); int[] dp = new int[10]; int result = 0; for (int i = 0; i < 10; i++) { dp[i] = 1; } for (int i = 1; i < N; i++) { result = 0; for (int j = 1; j < 10; j++) { dp[j] = (dp[j] + dp[j - 1]) % 10007; result = (result + dp[j]) % 10007; } } if(result==0){ System.out.println(10); } else System.out.println((result + 1) % 10007); } } | cs |
반응형
'나는요 공부가 좋....은걸... > 알고리즈음' 카테고리의 다른 글
[BOJ] 백준 1931 - 회의실 배정 (자바) (1) | 2018.01.11 |
---|---|
[BOJ] 백준 2644 - 촌수 계산 (자바) (0) | 2018.01.11 |
[BOJ] 백준 10409 - 서버 (자바) (0) | 2018.01.08 |
[BOJ] 백준 10989 - 수 정렬하기 3 (자바) (3) | 2018.01.08 |
[BOJ] 백준 1182 - 부분집합 (자바) (0) | 2017.12.05 |