728x90
반응형
🎫code )
n = int(input())
dp = [0 for _ in range(n + 1)]
for i in range(2, n + 1):
dp[i] = dp[i - 1] + 1
print(dp, '0')
if i % 2 == 0 and dp[i] > dp[i // 2] + 1:
dp[i] = dp[i // 2] + 1
print(dp, '1')
if i % 3 == 0 and dp[i] > dp[i // 3] + 1:
dp[i] = dp[i // 3] + 1
print(dp, '2')
print(dp[n])
📌 description )
문제출처 : www.acmicpc.net/problem/1463
1463번: 1로 만들기
첫째 줄에 1보다 크거나 같고, 106보다 작거나 같은 정수 N이 주어진다.
www.acmicpc.net
문제정수 X에 사용할 수 있는 연산은 다음과 같이 세 가지 이다.
정수 N이 주어졌을 때, 위와 같은 연산 세 개를 적절히 사용해서 1을 만들려고 한다. 연산을 사용하는 횟수의 최솟값을 출력하시오. 입력첫째 줄에 1보다 크거나 같고, 106보다 작거나 같은 정수 N이 주어진다. 출력첫째 줄에 연산을 하는 횟수의 최솟값을 출력한다.
|
반응형
'Algorithm > Baekjoon' 카테고리의 다른 글
[백준] 최소비용 구하기 / 1916번 / 파이썬 / python (0) | 2020.12.05 |
---|---|
[백준] 숨바꼭질 / 1697번 / 파이썬 / python (0) | 2020.12.04 |
[백준] 효율적인 해킹 / 1325번 / 파이썬 / Python (0) | 2020.12.01 |
[백준] 차이를 최대로 / 10819번 / 파이썬 / Python (0) | 2020.11.30 |
[백준] 그룹 단어 체커 / 1316번 / 파이썬 / Python (0) | 2020.11.29 |