일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
Tags
- leetcode
- Java
- Python
- C++
- spring
- 프로그래머스
- 스프링 프레임워크
- 시애틀
- 파이썬
- 딥러닝
- Spring Framework
- 스타벅스
- 릿코드
- 다이나믹프로그래밍
- C/C++
- binary search
- jvm
- 라인
- 알고리즘
- BFS
- 모두를 위한 딥러닝
- dfs
- 머신러닝
- DP
- 프로그래밍언어론
- 벤쿠버
- STL
- 라인플러스
- 백준
- 백트래킹
Archives
- Today
- Total
목록합분해 (1)
케이스윔의 개발 블로그
[백준][DP] 2225번 합분해
문제0부터 N까지의 정수 K개를 더해서 그 합이 N이 되는 경우의 수를 구하는 프로그램을 작성하시오. 덧셈의 순서가 바뀐 경우는 다른 경우로 센다(1+2와 2+1은 서로 다른 경우). 또한 한 개의 수를 여러 번 쓸 수도 있다.문제 출처: 백준 온라인 저지(https://www.acmicpc.net/problem/2225) 풀이문제를 읽어보았을 때 꽤 간단한 문제라고 느껴서 바로 점화식을 세웠지만 조건을 하나 놓쳐서 다시 읽어본 문제입니다. 식은 간단히 세울 수 있었습니다 dp[N][K]를 K개의 정수를 더해서 N을 만드는 것이라고 정의를 합니다. 그렇게 되면 dp[N][K] = dp[N-(N또는 보다 작은 정수)][K-1]의 합이 됩니다. 즉 N또는 N보다 작은 숫자를 K-1개로 만들었다면 거기에다가 ..
Algorithm/Dynamic Programming
2018. 12. 12. 13:34