[백준]1로 만들기

2020. 8. 3. 23:211일 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