정수 X에 사용할 수 있는 연산은 다음과 같이 세 가지 이다. X가 3으로 나누어 떨어지면, 3으로 나누어 준다. X가 2로 나누어 떨어지면, 2로 나누어 준다. 1을 빼준다. 이 때 정수N이 주어졌을 때 위 연산 세 개를 적절히 이용해 1로 만들려 한다.이러한 규칙이 적용되었을 때, 연산을 사용하는 횟수의 최솟값은? 조건: 1보다 크고 10^6보다 작은 정수 1개가 입력된다. 예) 2입력, 1출력 (2-1) 10 입력, 3 출력 (10-9-3-1) 나는 이 문제를 다이나믹 프로그래밍으로 풀었다. 문제를 풀기 위한 기법은 BFS 등 여러가지 방법이 있으나, 문제에 접근하기 쉬운 방법으로 풀어 보았다. 몇 가지 예를 들어서 생각해보자. 2-13-14-2-15-4-2-16-2-17-6-2-18-4-2-19-..