일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Spring
- responsebody
- FNN
- web
- REST API
- 알고리즘
- 딥러닝
- Backend
- PS
- DP
- 책리뷰
- BOJ
- withmockuser
- testing
- 백준
- 스택
- 신경망기초
- SpringBoot
- 정렬
- Spring Data JPA
- C++
- 그리디
- 쉬운딥러닝
- RequestBody
- 로지스틱회귀
- Andrew Ng
- WebMvcTest
- 코딩
- 에라토스테네스의체
- python3
- Today
- Total
목록DP (2)
꾸준히하자아자
문제 https://www.acmicpc.net/problem/1463 1463번: 1로 만들기 첫째 줄에 1보다 크거나 같고, 106보다 작거나 같은 정수 N이 주어진다. www.acmicpc.net 설명 이 문제는 DP로 풀 수 있다. 1. 테이블 정의하기 2. 점화식 찾기 3. 초기값 정의하기 이 세가지 과정을 거쳐 문제를 풀 수 있다. 1. 테이블 정의하기 D[i]= i를 1로 만들기 위해 필요한 연산 사용 횟수의 최솟값 2. 점화식 찾기 D[12] =? D[1]부터 D[11]까지의 값을 다 알고 있다고 가정하면 1, 2, 3, ..., 11을 1로 만들기 위한 최소 횟수를 다 알고 있다고 하면 이런 상황에서 D[12]를 구하는 방법은 12에서 할 수 있는 연산을 생각하면 된다. D[4], D[6..
인프런 강의 참고 동적 계획법 (Dynamic Programming) 이란 (출처 나무위키) 동적 계획법이란 특정 범위까지의 값을 구하기 위해서 그것과 다른 범위까지의 값을 이용하여 효율적으로 값을 구하는 알고리즘 이다. 즉, 답을 재활용!! 한다고 생각하면 쉽다. 기본적으로 분할 정복 알고리즘과 비슷하다. 동적 계획법은 계산 횟수를 줄일 수 있다. 특히 이 방법은 하위 문제의 수가 기하급수적으로 증가할 때 유용하다. +동적 계획법을 영문으로는 다이나믹 프로그래밍(dynamic programming)이라 표기하는데, 이름과는 달리 딱히 다이나믹하지도 않고 프로그래밍이라는 단어와도 큰 연관이 없다. 예시 피보나치 수열 //재귀함수를 이용한 피보나치 수열 함수 int fib(int n) { if (n == ..