์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
Tags
- ์ด์งํ์
- Flutter
- ์๋ฐ์คํฌ๋ฆฝํธ
- ์๊ณ ๋ฆฌ์ฆ
- ํ๋ก๊ทธ๋๋จธ์ค
- sort
- DART
- ์ฐ์ จ์์
- Algorithm
- ๊ทธ๋ํ ํ์
- BAEKJOON
- ์ฝ๋ํธ๋ฆฌ
- DP
- ๊ตฌํ
- ์ผ์ฑsw์ญํ
- Java
- BFS
- ๋ฐฑ์ค
- ๋ฌธ์์ด ํ์ฑ
- c#
- programmers
- ์๋ฃ๊ตฌ์กฐ
- ํ์ด์ฌ
- ์คํฐ๋
- ์ฝ๋ฉํ ์คํธ
- JS
- ๋ชป๊ทธ๋ฆฌ์ง๋ง
- JavaScript
- ๋์ ํ๋ก๊ทธ๋๋ฐ
- ์นด์นด์ค
Archives
- Today
- Total
Algo ์ฐ์
[BaekJoon] 1463 1๋ก ๋ง๋ค๊ธฐ ๋ณธ๋ฌธ
โถ ๋ฌธ์ :
โถ ์ฝ๋ :
num = int(input())
data = {1:0}
i = 2
while True:
if i == num+1:
break
data[i] = data[i-1] + 1
if i % 3 == 0:
data[i] = min(data[i], data[i//3] + 1)
if i % 2 == 0:
data[i] = min(data[i], data[i//2] + 1)
i += 1
print(data[num])
โถ ๋ฌธ์ ํ์ด :
1. DP ๋ฐฉ์์ ์ฌ์ฉํด์ ํ์ดํ๋ ๋ฌธ์ ์ด๋ค.
2. ์ด๊ธฐ ๊ฐ 1์ ์ ์ธํ ์ดํ ์ซ์(2) ๋ถํฐ ๋ฐ๋ณต์ ์งํํ๋ค.
3. ํด๋น ์ซ์์์ 1์ ๋บ ๊ฒฝ์ฐ(์ด ๊ฒฝ์ฐ๋ ์ด์ ๊ฒฐ๊ณผ๊ฐ์ 1์ ๋ํจ) 3์ผ๋ก ๋๋ ๊ฒฝ์ฐ 2๋ก ๋๋ ๊ฒฝ์ฐ ๋ชจ๋๋ฅผ ๋น๊ตํด๊ฐ๋ฉด์ data ํด์ฌํ ์ด๋ธ์ ์ฑ์ด๋ค.
4. ์ํ๋ ์ธ๋ฑ์ค์ ๊ฒฐ๊ณผ๋ฅผ ์ถ๋ ฅํ๋ค.
'๐ฏ CodingTest > BaekJoon' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[BaekJoon] 1620 ๋๋์ผ ํฌ์ผ๋ชฌ ๋ง์คํฐ ์ด๋ค์ (0) | 2022.04.15 |
---|---|
[BaekJoon] 1541 ์์ด๋ฒ๋ฆฐ ๊ดํธ (0) | 2022.04.15 |
[BaekJoon] 1107 ๋ฆฌ๋ชจ์ปจ (0) | 2022.04.14 |
[BaekJoon] 1074๋ฒ Z (0) | 2022.04.13 |
[BaekJoon] 1012 ์ ๊ธฐ๋ ๋ฐฐ์ถ (0) | 2022.04.12 |