[백준]1로 만들기
2020. 8. 3. 23:21ㆍ1일 1 알고리즘
이번에는 조건에 맞추어 1로 만드는 알고리즘을 만들어봅니다
N = int(input())
result = [0 for _ in range(N + 1)]
for i in range(1, N + 1):
if i == 1:
result[i] = 0
continue
result[i] = result[i-1] + 1
if i % 3 == 0 and result[i//3] + 1 < result[i]:
result[i] = result[i//3] + 1
if i % 2 == 0 and result[i//2] + 1< result[i]:
result[i] = result[i//2] + 1
print(result[N])
처음에는 입력값을 넣을수 있도록 변수를 만들어주고 0부터 입력된값+1만큼 돌려주고 그값을 result에 넣어줍니다 다음으로 for문을 돌려주는데 i가 1일경우 result의 값을 0으로 만들어주고 다시 돌려줍니다 다음 각각의 조건에 맞는 값을 각각 출력해줍니다.
'1일 1 알고리즘' 카테고리의 다른 글
[백준]포도주 시식 (0) | 2020.08.15 |
---|---|
[백준]쉬운 계단 수 (0) | 2020.08.15 |
[백준]계단 오르기 (0) | 2020.07.31 |
[백준]RGB거리 (0) | 2020.07.29 |
[백준]파도반 수열 (0) | 2020.07.28 |