문제 링크
문제 해설
Idea
- Dynamic Programming
- N에 대해 조건을 만족하는 경우에서 3으로 나누기, 2로 나누기, 1을 빼는 연산을 반복 수행하고
각각의 연산횟수 별로 도출할 수 있는 값을 모두 저장 - 앞선 결과를 모두 활용해 다음 결과에 대한 모든 경우를 탐색하고 결과 집합에 1이 있을 시 탐색을 종료
- 1이 포함된 마지막 집합의 인덱스 번호를 최소 연산횟수로 출력
Data Size
- N: 1 <= int <= 10^6
해설 코드
|
|