Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- Python
- 코틀린인액션
- 스프링 핵심 원리
- 7장 고급매핑
- 스프링 컨테이너와 스프링 빈
- 기능개발 python
- 고급매핑
- 20055 컨베이어 벨트 위의 로봇
- 코틀린
- KotlinInAction
- 백준
- Kotlin in action 3장
- Kotlin In Action
- 컨베이어 벨트 위의 로봇 Python
- 13460 구슬탈출 2
- spring
- 20055
- Kotlin in action 10장
- 백준 13460 Python
- 스프링 핵심 원리 이해
- 코틸린인액션
- 싱글톤 컨테이너
- 스프링 핵심 원리 - 기본편
- 객체 지향 설계와 스프링
- 자바 ORM 표준 JPA 프로그래밍 7장
- Kotlin
- Kotlin in action 6장
- kotlin in action 정리
- 백준 20055 컨베이어 벨트 위의 로봇
- Kotlin in action 5장
Archives
- Today
- Total
기록하는 습관
[백준] DP - 1로 만들기 본문
한동안 코테 스터디 하느라 블로그에 코딩 공부 글을 올리지 못했다.. (?모순)
코테 스터디 내용은 차차 올릴 예정이다.
이제 스터디도 끝나서 다시 혼자 공부해야 하는데 열심히 문제풀이 올리면서 꾸준히 공부해야지. :)
https://www.acmicpc.net/problem/1463
1463번: 1로 만들기
첫째 줄에 1보다 크거나 같고, 106보다 작거나 같은 정수 N이 주어진다.
www.acmicpc.net
점화식 : d[a] = min ( d[a // 3] +1, d[a // 2] + 1 , d[a - 1] + 1 )
시간 복잡도 : O(N)
a = int(input())
d = [0] * (a + 1)
for x in range(2, a + 1):
d[x] = d[x - 1] + 1
if x % 2 == 0:
d[x] = min(d[x], d[x // 2] + 1)
if x % 3 == 0:
d[x] = min(d[x], d[x // 3] + 1)
print(d[a])
'알고리즘 > [문제풀이] 백준' 카테고리의 다른 글
[백준] DP - RGB 거리 (0) | 2020.10.03 |
---|---|
[백준] DP - 계단 오르기 (0) | 2020.10.03 |
[문제풀이] 경쟁적 전염 (0) | 2020.08.22 |
[백준] 1697 숨바꼭질(BFS) (0) | 2020.01.21 |
[백준] 2178 미로탐색 (0) | 2020.01.21 |
Comments