๐Ÿ‘ฉโ€๐ŸŽ“๊ณต๋ถ€ - 2024.02.02 ์†Œ๋งˆ๋Œ€๋น„ ๋ฌธ์ œํ’€์ด

์œ ๋ น๊ฐœยท2024๋…„ 2์›” 2์ผ
0

PS-์•Œ๊ณ ๋ฆฌ์ฆ˜2

๋ชฉ๋ก ๋ณด๊ธฐ
25/34
post-thumbnail

1463๋ฒˆ - 1๋กœ ๋งŒ๋“ค๊ธฐ

์„ธ ๊ฐ€์ง€ ์—ฐ์‚ฐ์„ ์‚ฌ์šฉํ•ด์„œ ์ฃผ์–ด์ง„ ์ˆ˜๋ฅผ ์ตœ๋Œ€ํ•œ ์ ๊ฒŒ ์—ฐ์‚ฐํ•˜์—ฌ 1๋กœ ๋งŒ๋“ค๋•Œ, ์—ฐ์‚ฐ์˜ ํšŸ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค.


๋ถ„์„

์ด ๋ฌธ์ œ๋Š” ์ ํ™”์‹์ด ์ฃผ์–ด์ ธ ์žˆ๋‹ค๊ณ  ๋ด์•ผํ•ฉ๋‹ˆ๋‹ค.
์„ธ ๊ฐ€์ง€ ์—ฐ์‚ฐ, 3๋‚˜๋ˆ„๊ธฐ, 2๋‚˜๋ˆ„๊ธฐ, 1๋นผ๊ธฐ๋ฅผ ์ ํ™”์‹์œผ๋กœ์จ ์„ธ์šธ ์ˆ˜ ์žˆ์œผ๋ฉด ํ’€์ด๊ฐ€ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

1. 3๋‚˜๋ˆ„๊ธฐ
dp(9) = dp(3) + 1 ์ด๋ผ๋Š” ๊ฒฐ๊ณผ๊ฐ€ ๋‚˜์˜ค๋ฉฐ, dp[i] = dp[i//3] + 1์„ ๋„์ถœํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
2. 2๋‚˜๋ˆ„๊ธฐ
dp(4) = dp(2) + 1 ์ด๋ผ๋Š” ๊ฒฐ๊ณผ๊ฐ€ ๋‚˜์˜ค๋ฉฐ, dp[i] = dp[i//2] + 1์„ ๋„์ถœํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
3. 1๋นผ๊ธฐ
dp[2] = dp[1] + 1 ์ด๋ผ๋Š” ๊ฒฐ๊ณผ๊ฐ€ ๋‚˜์˜ค๋ฉฐ, dp[i] = dp[i-1] + 1์„ ๋„์ถœํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์—ฌ๊ธฐ์„œ dp(N)์˜ ๊ฒฐ๊ณผ๊ฐ’์€ ์ œ์ผ ์ ์€ ์—ฐ์‚ฐ์„ ์‚ฌ์šฉํ•˜์—ฌ N์„ 1๋กœ ๋งŒ๋“œ๋Š”๋ฐ ๋“œ๋Š” ์—ฐ์‚ฐ์ˆ˜์ด๋ฏ€๋กœ, ์ € ์„ธ ๊ฒฝ์šฐ ์ค‘ ์ œ์ผ ์ ์€ ์—ฐ์‚ฐ์„ ์‚ฌ์šฉํ•œ ๊ฒƒ์„ ํ•˜๋‚˜ ๊ผฝ์•„ ํ˜„์žฌ ์กฐ์‚ฌ์ค‘์ธ ์ˆ˜์— ๋Œ€์ž…ํ•˜๋ฉด ๋˜๊ฒ ์Šต๋‹ˆ๋‹ค.

์ ํ™”์‹ : min(dp[i] = dp[i//3] + 1,dp[i] = dp[i//2] + 1,dp[i] = dp[i-1] + 1)


์ฝ”๋”ฉ

์œ„์˜ ์ ํ™”์‹์ฒ˜๋Ÿผ min์œผ๋กœ ๋น„๊ตํ•˜์—ฌ ๋„ฃ๋Š” ๊ฒƒ์€ ๋ถˆ๊ฐ€๋Šฅํ•˜๋ฏ€๋กœ ํ•˜๋‚˜์”ฉ ๋น„๊ตํ•˜๋ฉฐ ์ฝ”๋”ฉํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

dp = [0]*1000010

dp[1] = 0
N = int(input())

dp๋ฐฐ์—ด์„ ํ•˜๋‚˜ ์„ ์–ธํ•ด์ฃผ๊ณ  N์„ ์ž…๋ ฅ๋ฐ›์Šต๋‹ˆ๋‹ค.

for i in range(2,N+1):
    dp[i] = dp[i-1] + 1

์ผ๋‹จ 1๋บ€ ๊ฒฝ์šฐ๋ฅผ dp[i]์— ๋„ฃ์–ด์ค์‹œ๋‹ค. ๋ญ˜ ๋จผ์ €ํ•˜๋“  ์ƒ๊ด€์—†์Šต๋‹ˆ๋‹ค.

    if i%3==0:
        dp[i] = min(dp[i//3]+1,dp[i])

๊ทธ๋ฆฌ๊ณ  ํ•ด๋‹น 3๋‚˜๋ˆˆ ๊ฒฝ์šฐ๋ž‘ 1๋บ€ ๊ฒฝ์šฐ๋ž‘ ๋น„๊ตํ•ด์„œ ๋” ์ž‘์€๊ฑธ dp[i]์— ๋„ฃ์–ด์ค๋‹ˆ๋‹ค.

    if i%2==0:
        dp[i] = min(dp[i//2]+1,dp[i])

๋งˆ์ง€๋ง‰์œผ๋กœ 2๋‚˜๋ˆˆ ๊ฒฝ์šฐ๋ž‘ ๋ฐฉ๊ธˆ ์ „์— dp[i]์— ๋„ฃ์€ ๊ฐ’์ด๋ž‘ ๋น„๊ตํ•ด์„œ ๋” ์ž‘์€ ๊ฑธ dp[i]์— ๋„ฃ์–ด์ค๋‹ˆ๋‹ค.

print(dp[N])

๋งˆ์ง€๋ง‰์œผ๋กœ dp[N]์„ ์ถœ๋ ฅํ•ด์ฃผ์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค.



profile
ํ•œ๋ฆผ๋Œ€ํ•™๊ต ์ •๋ณด๊ณผํ•™๋Œ€ 2ํ•™๋…„ ์žฌํ•™์ค‘ / ์œก๊ตฐ ์ •๋ณด๋ณดํ˜ธ๋ณ‘ 22-2๊ธฐ

0๊ฐœ์˜ ๋Œ“๊ธ€