문제 요약 알고리즘 분류: dp, 동적 계획법 난이도: Medium 문제내용: 정수 n이 주어지면 k개의 양의 정수의 합(k > = 2)으로 나누고 그 정수의 곱을 최대화한다. 사이트 주소: https://leetcode.com/problems/integer-break/description/ 문제풀이 이번 문제에는 모든 경우의 수를 구해서 풀기가 힘들다. 모든 경우의 수를 구하 O(N^N)개 이상으로 나올수 있다. 그래서 이번 문제는 DP로 풀어야 통과가 되는 문제이다. DP에 대한 자세한 설명은 아래글로 확인해보면 된다. https://jih3508.tistory.com/89 [알고리즘 이론] 동적계획법(Dynamic Programming, DP) 이론 이번에 볼 알고리즘은 동적계획법(Dynamic ..
이론 이번에 볼 알고리즘은 동적계획법(Dynamic Programming)이다. 이 알고리즘은 줄어서 dp라고 많이 불리고 코딩테스트에도 자주 나오는 유형이라서 무조건 알아야 되는 알고즘이다. 동적계획법 알고리즘은 복잡하고 여러개의 연산이 있는데.. 작은 단위를 연산을 한다음 반복되거나 중복 되는 연산은 최소화 해서 풀어 나가는 알고리즘이다. 동적계획법은 시간 복잡도상에서 최적으로 나타낼수있는 강력한 알고리즘이지만 완벽한 알고리즘이라고 할수는 없다. dp로 해결하는 이유는 메모리 절약과 시간복잡도의 최적화로 되어 있지만 문제 푸는데는 어느정도 한계가 있고 이론보다는 접근 방법이나 아이디어가 더 많이 요구되기도 한다. 자세한 설명은 아래 사이트에서 찾아 보면된다. https://ko.wikipedia.or..
- Total
- Today
- Yesterday
- DP
- DFS
- 백트레킹
- BFS
- 그래프
- spring-boot
- 그리디
- 누적합
- JSCODE
- 자바
- 파이썬
- 동적계획법
- java
- 배열
- LeetCode
- 동적 계획법
- Python
- 재귀호출
- 백준
- 넓이 우선 탐색
- level2
- 이론
- 구현
- 수학
- 알고리즘
- 조합
- 문자열
- Programmerse
- BaekJoon
- Greedy
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |