๐Ÿ‘ฉโ€๐ŸŽ“๊ณต๋ถ€ - 2024.02.06 ์ฝ”๋”ฉ ๋ฌธ์ œํ’€์ด

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

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

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

2156๋ฒˆ - ํฌ๋„์ฃผ ์‹œ์‹

์—ฐ์†์œผ๋กœ 3๊ฐœ๋ฅผ ๊ณ ๋ฅด๋ฉด ์•ˆ๋˜๊ณ  ๋งˆ์‹ค์ˆ˜ ์žˆ๋Š” ์ตœ๋Œ€ ํฌ๋„์ฃผ๋ฅผ ๊ตฌํ•˜๋Š” ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค.
์ „์— ํ’€์—ˆ๋˜ ๊ณ„๋‹จ ๋ฌธ์ œ์™€ ๋น„์Šทํ•œ ๊ฐ์ด ์—†์ž–์•„ ์žˆ๋Š”๋ฐ ์กฐ๊ธˆ ๋” ๋ณต์žกํ•ฉ๋‹ˆ๋‹ค.


๋ถ„์„

๋ณธ ๋ฌธ์ œ๋Š” ์„ธ ๊ฐ€์ง€ ๊ฒฝ์šฐ๋กœ ๋‚˜๋ˆ ์„œ ํ’€ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

1. i๋ฒˆ์งธ ์ž”์„ ์•„์˜ˆ ๊ณ ๋ฅด์ง€ ์•Š๊ฑฐ๋‚˜
2. i-3๋ฒˆ์งธ ์ž” -> i-1๋ฒˆ์งธ ์ž” -> i๋ฒˆ์งธ ์ž”์„ ํ†ตํ•ด ์˜ฌ๋ผ์˜ค๊ฑฐ๋‚˜
3. i-2๋ฒˆ์งธ ์ž” -> i๋ฒˆ์งธ ์ž”์„ ํ†ตํ•ด ์˜ฌ๋ผ์˜ค๋Š” ๊ฒฝ์šฐ

์ด๋ ‡๊ฒŒ ์„ธ ๊ฐ€์ง€๋กœ ์ •๋ฆฌํ•  ์ˆ˜ ์žˆ๊ฒ ์Šต๋‹ˆ๋‹ค.
์ž์„ธํ•œ ํ’€์ด๊ฐ€ ํ•„์š”ํ•œ ๋ถ„๋“ค์€

https://velog.io/@ghost_dog/%EA%B3%B5%EB%B6%80-2024.01.24-%EC%98%A4%EB%8A%98%EC%9D%98-%EC%BD%94%EB%94%A9%EA%B3%B5%EB%B6%80

๋ฅผ ์ฐธ์กฐํ•˜์‹œ๋ฉด ์›ํ™œํ•˜๊ฒŒ ์ดํ•ด ๊ฐ€๋Šฅํ•˜์‹ค ๊ฒ๋‹ˆ๋‹ค.

๊ณ„๋‹จ ์˜ค๋ฅด๊ธฐ์™€ ๋‹ค๋ฅธ ์ ์€ ๊ณ„๋‹จ์€ ๋ฌด์กฐ๊ฑด ๋ฐŸ์•„์•ผ ํ•˜์ง€๋งŒ ์ด ํฌ๋„์ฃผ๋Š” ์•ˆ๋งˆ์…”๋„ ์ƒ๊ด€์ด ์—†์œผ๋ฏ€๋กœ ์•ˆ๋งˆ์‹œ๋Š” ๊ฒฝ์šฐ์—๋Š” ์ด์ „๊นŒ์ง€์˜ ์ตœ๋Œ€ dp๊ฐ’ (dp[i-1])์„ ํ•ด๋‹น dp์— ๋„ฃ์–ด์ฃผ๋ฉด ๋˜๊ฒ ์Šต๋‹ˆ๋‹ค.


์ฝ”๋”ฉ

n = int(input())
lst = []
for _ in range(n):
    a = int(input())
    lst.append(a)

๋ฆฌ์ŠคํŠธ๋ฅผ ๋ฐ›์•„์ค๋‹ˆ๋‹ค.

dp = [0]*n
if n>=1:
    dp[0] = lst[0]
if n>=2:
    dp[1] = lst[0]+lst[1]
if n>=3:
    dp[2] = max(lst[0]+lst[2],lst[1]+lst[2],dp[1])

์ ํ™”์‹์—์„œ dp[i-3]์ด ์ตœ์†Œ ์ฐธ์กฐ ์ธ๋ฑ์Šค์ด๋ฏ€๋กœ 3๊นŒ์ง€ ๊ธฐ๋ณธ๊ฐ’์„ ์„ค์ •ํ•ด์ค๋‹ˆ๋‹ค. ๋‹ค๋งŒ, ์ฃผ์˜ํ•  ์ ์€ lst์˜ ๊ฐ’์ด 2 ์ดํ•˜์ผ ๊ฒฝ์šฐ list out of range exception์ด ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ 1๊ณผ 2๊ฐ’์„ ์ง์ ‘ ์ง€์ •ํ•ด์ฃผ๋„๋ก ํ•ฉ์‹œ๋‹ค.

for i in range(3,n):
    dp[i] = max(lst[i]+dp[i-2],lst[i]+lst[i-1]+dp[i-3])
    if dp[i] < dp[i-1]:
        dp[i] = dp[i-1]

3๋ถ€ํ„ฐ๋Š” ์•„๊นŒ ์„ธ์šด ์ ํ™”์‹ ์ค‘ ์ตœ๋Œ“๊ฐ’์„ dp[i]์— ๋Œ€์ž…์‹œ์ผœ์ฃผ๋ฉด ๋ฉ๋‹ˆ๋‹ค.

print(max(dp))

๋งˆ์ง€๋ง‰์œผ๋กœ dp์˜ ์ตœ๋Œ“๊ฐ’์„ ์ถœ๋ ฅํ•˜๋ฉด




์ •์ƒ์ ์œผ๋กœ ํ•ด๋ฅผ ๋„์ถœํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


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

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