[Baekjoon] 14501 ํ‡ด์‚ฌ python

sorzzzzyยท2021๋…„ 8์›” 4์ผ
0

Baekjoon Algorithm

๋ชฉ๋ก ๋ณด๊ธฐ
2/46
post-thumbnail

๐Ÿท ๋ฌธ์ œ


๐Ÿ’ก ์ฝ”๋“œ

n = int(input())

list_t = []
list_p = []
price = 0

# ๊ฐ’์„ ์ €์žฅํ•ด ๋†“์„ ํ…Œ์ด๋ธ” ๋ฆฌ์ŠคํŠธ ์ƒ์„ฑ 
dp_table = [0] * n+1

for i in range(n):
    t, p = map(int, input().split())
    list_t.append(t)
    list_p.append(p)

for j in range(n-1,-1,-1):
    # ์ƒ๋‹ด ๊ฐ€๋Šฅ ์‹œ๊ฐ„
    time = j + list_t[j]
    # ์ƒ๋‹ด ๊ฐ€๋Šฅ ์‹œ๊ฐ„์ด ํ‡ด์‚ฌ์ผ๋ณด๋‹ค ๊ธธ๋‹ค๋ฉด, ์ƒ๋‹ด ๋ถˆ๊ฐ€๋Šฅ
    if time > n:
        dp_table[j] = price
    else:
        dp_table[j] = max(list_p[j] + dp_table[j+list_t[j]], price)
        price = dp_table[j]

print(price)

๐Ÿ”‘

profile
Backend Developer

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