https://ddoance.tistory.com/108
์ด ๋ฌธ์ ์ ์ด๋ ค์ด ๋ฒ์ ์ผ๋ก, Gold V ๋ ๋ฒจ์ด ์๋ค.
์ด ํ์ด๋ก ์๋ํ์ง ์์๊ณ , ๊ฒฐ๊ตญ dp๋ก ๋ค์ ํ์ด์ผ ํ๋ค.
์๊ฐ์ด๊ณผ๊ฐ ๋ฐ์ํ ๊ฒฝ์ฐ, input์ ๋ฐ๋ ํ์์ ๋ฐ๊ฟ์ค์ผ ํ๋ค.
์ต์ข ํ์ด๋ ๋ค์๊ณผ ๊ฐ๋ค.
import sys
input = sys.stdin.readline
N = int(input())
meetingList = list()
for _ in range(N):
meetingList.append(list(map(int, input().split())))
dp = [0] * (N + 1)
for i in range(1, N + 1):
time = meetingList[i - 1][0]
price = meetingList[i - 1][1]
# ํ์ ์ฐธ์ํ ๊ฒฝ์ฐ
if (i + time - 1) <= len(meetingList):
dp[i + time - 1] = max(dp[i + time - 1], dp[i - 1] + price)
### ํ์ ์ฐธ์ ์ํ ๊ฒฝ์ฐ, ๊ทธ ์ ๋ ๊ฐ์ ๊ฐ์ ธ์ด
if dp[i - 1] > dp[i]:
dp[i] = dp[i - 1]
###
# print(i, ' >> ', dp)
print(max(dp))
๋ฐ์ํ
'๐ค ์๊ณ ๋ฆฌ์ฆ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
baekjoon. 14890 ๊ฒฝ์ฌ๋ก [Gold III][python] (0) | 2023.08.13 |
---|---|
baekjoon. 11729 ํ๋ ธ์ด ํ ์ด๋ ์์ [Silver I][python] (0) | 2023.07.12 |
โก๏ธ baekjoon. 1489 ๋๊ฒฐ [Gold I][python] (0) | 2023.06.29 |
โก๏ธ baekjoon. 14501 ํด์ฌ [Silver III][python] (0) | 2023.06.28 |
baekjoon. 1071 ์ํธ [Platinum V][python] (0) | 2023.06.22 |