(파이썬) Baekjoon Online Judge 백준 1463 1로 만들기

문제

클릭하여 이동

풀이

  1. X가 3으로 나누어 떨어지면, 3으로 나눈다.
  2. X가 2로 나누어 떨어지면, 2로 나눈다.
  3. 1을 뺀다.

숫자 X가 주어지면, 그 수를 이전에 (X-1, X//2, X//3 일때) 저장된 값 중 가장 작은 수 + 1을 하여 저장한다.

일반화하면,
d[X] =

  1. d[X // 3] + 1
  2. d[X // 2] + 1
  3. d[X-1] + 1

세가지 경우 중 가장 작은 값이 d[X]가 된다.

코드

파이썬 (python)

 

 

댓글 남기기

Close Menu