File tree Expand file tree Collapse file tree 2 files changed +50
-0
lines changed
Expand file tree Collapse file tree 2 files changed +50
-0
lines changed Original file line number Diff line number Diff line change 1+ # 1463번
2+ n = int (input ())
3+
4+ dp = [0 ] * 10000001
5+
6+ for i in range (2 , n + 1 ):
7+ dp [i ] = dp [i - 1 ] + 1
8+
9+ if i % 2 == 0 :
10+ dp [i ] = min (dp [i ],dp [i // 2 ]+ 1 )
11+ if i % 3 == 0 :
12+ dp [i ] = min (dp [i ],dp [i // 3 ]+ 1 )
13+
14+ print (dp [n ])
Original file line number Diff line number Diff line change 1+ # [ Silver III] 1로 만들기 - 1463
2+
3+ [ 문제 링크] ( https://www.acmicpc.net/problem/1463 )
4+
5+ ### 성능 요약
6+
7+ 메모리: 188888 KB, 시간: 152 ms
8+
9+ ### 분류
10+
11+ 다이나믹 프로그래밍
12+
13+ ### 제출 일자
14+
15+ 2025년 10월 28일 18:42:09
16+
17+ ### 문제 설명
18+
19+ <p >정수 X에 사용할 수 있는 연산은 다음과 같이 세 가지 이다.</p >
20+
21+ <ol >
22+ <li>X가 3으로 나누어 떨어지면, 3으로 나눈다.</li>
23+ <li>X가 2로 나누어 떨어지면, 2로 나눈다.</li>
24+ <li>1을 뺀다.</li>
25+ </ol >
26+
27+ <p >정수 N이 주어졌을 때, 위와 같은 연산 세 개를 적절히 사용해서 1을 만들려고 한다. 연산을 사용하는 횟수의 최솟값을 출력하시오.</p >
28+
29+ ### 입력
30+
31+ <p >첫째 줄에 1보다 크거나 같고, 10<sup >6</sup >보다 작거나 같은 정수 N이 주어진다.</p >
32+
33+ ### 출력
34+
35+ <p >첫째 줄에 연산을 하는 횟수의 최솟값을 출력한다.</p >
36+
You can’t perform that action at this time.
0 commit comments