๊ด€๋ฆฌ ๋ฉ”๋‰ด

Algo ์“ฐ์ž

[BaekJoon] 1463 1๋กœ ๋งŒ๋“ค๊ธฐ ๋ณธ๋ฌธ

๐Ÿ’ฏ CodingTest/BaekJoon

[BaekJoon] 1463 1๋กœ ๋งŒ๋“ค๊ธฐ

S.Honey 2022. 4. 14. 16:31

โ–ถ ๋ฌธ์ œ :

 

 

 

โ–ถ ์ฝ”๋“œ : 

 

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. ์›ํ•˜๋Š” ์ธ๋ฑ์Šค์˜ ๊ฒฐ๊ณผ๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.