[백준]1463 - 1로 만들기(Dynamic Programming)
이 문제 역시 Dynamic Programming으로 해결해야 한다. 이 문제는 문제 그대로 큰 숫자를 나누고, 빼면서 접근하면 안 된다. 만약 그렇게 한다면 숫자가 3과 2로 나누어 떨어지는지 검사하는 데에만 엄청난 리소스가 낭비된다. 반대로 생각해보자. 2로 나누어 떨어지는 수는 2로 나눈 몫의 2배와 같은 값이다. 3으로 나누어 떨어지는 수는 3으로 나눈 몫의 3배와 같은 값이다. 그렇다면 역으로 작은 수에 2나 3을 곱하고, 1을 더하면서 숫자를 늘려가면 된다. 1부터 시작한다. 1의 3배는 3이다. 한 번의 연산이니 1을 입력한다. 1의 2배는 2이다. 한 번의 연산이니 1을 입력한다. 1+1은 2이다. 그런데 2에는 이미 숫자가 입력되어 있다. 비교 후 더 작은 값을 넣는다. 이렇게 하면 배열..
algorithm'''problem solve
2019. 8. 19. 21:30
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 알고리즘
- 동적 계획법
- Dynamic Programming
- BFS
- 백트래킹
- 이분탐색
- 오픈소스
- webOS
- DFS
- 피보나치
- 플로이드 와셜
- 구현
- 프로그래머스
- 브루트포스
- DP
- 파이썬
- 1932
- 카카오
- 인공지능
- 컨트리뷰톤
- 백준
- 한화큐셀
- 코딩
- 정렬
- LG
- c++
- c
- 완전탐색
- BaekJoon
- PyPy3
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함