[백준] 1463. 1로 만들기 / python 파이썬
🚩 동적프로그래밍(DP) thinking 1. 규칙을 찾아보려 했으나 실패 -> 규칙 없음 ! 2. DP 접근 인풋숫자의 크기만큼 배열을 만들고, 계산횟수를 해당 인덱스에 입력 & 비교하면서 최소 연산값을 구하는 것이다. 앞에서 부터 계산을 해가면서 카운팅을 늘려나가는 것이 핵심이다 ! ◾ 점화식 : dp(N) = min ( dp(N//3)+1, dp(N//2)+1 , dp(N-1)+1 ) ◾ 시간복잡도 : {배열의 크기 x O(1)} => O(N) 코드 N = int(input()) dp = [0 for _ in range(N+1)] # 인덱스가 N이 되도록 N+1 크기의 배열을 만듦 for i in range(2, N+1): dp[i] = dp[i-1] + 1 # dp(N-1)+1 계산먼저 해주고 i..
algorithm/baekjoon
2021. 4. 12. 00:50
글 보관함
TAG
- git 미러링
- Python
- 브루트포스
- 알고리즘
- 2579 계단오르기
- react
- merge에러
- 파이썬
- dfs
- 기지국설치
- BFS
- 삼성코테
- 백준
- swea
- 영어끝말잇기
- 프로그래머스
- dp
- 20056 마법사 상어와 파이어볼
- 17406 배열돌리기4
- merge 에러
- 보석쇼핑
- 20057 마법사 상어와 토네이도
- 2018 카카오 공채
- 21609 상어 중학교
- 삼성기출
최근에 올라온 글
- Total
- Today
- Yesterday
최근에 달린 댓글