이것이 취업을 위한 코딩 테스트다 with 파이썬
입력 조건
1. 첫째 줄에 정수 X가 주어진다.
출력조건
1. 첫째 줄에 연산을 하는 횟수의 최솟값을 출력한다.
입력예시
26
출력예시
3
예전에 비슷한 문제를 풀었었는데, 이번에 풀 때 조금 헤맸다. 기본적인 dp문제인데 아직도 풀이방법이 바로 눈에 들어오지 않는다. dp문제는 감을 잃지 않으려면 꾸준히 풀어야할 것 같다.
Python code
더보기
x=int(input())
dp=[0]*(x+1)
for i in range(2, x+1):
dp[i]=dp[i-1]+1
if i%5==0:
dp[i]=min(dp[i],dp[i//5]+1)
if i%3==0:
dp[i]=min(dp[i],dp[i//3]+1)
if i%2==0:
dp[i]=min(dp[i],dp[i//2]+1)
print(dp[x])
'이코테' 카테고리의 다른 글
[다이나믹 프로그래밍] 바닥 공사 (Python) (0) | 2021.04.12 |
---|---|
[다이나믹 프로그래밍] 개미 전사 (Python) (0) | 2021.04.09 |
[이진탐색] 떡볶이 떡 만들기 (Python) (0) | 2021.04.05 |
[이진탐색] 부품 찾기 (Python) (0) | 2021.04.02 |
[정렬] 두 배열의 원소 교체 (Python) (0) | 2021.04.01 |