https://ddoance.tistory.com/108
โก๏ธ baekjoon. 14501 ํด์ฌ [Silver III][python]
๊ด๋ จ ํ์ด๋ฅผ ๋ดค์๋ ํ์๋ฒ์ผ๋ก ์ ๊ทผํด์ผ ํ๋ ํ๋ค๊ฐ, ์ฃผ์ด์ง ์์ ์ผ์ด์ค๋ก ๋์ ํ ์ ๊ทผํ ์๊ฐ ์์ด์, dfs๋ก ์ ๊ทผํด์ ๋ชจ๋ ๊ฒฝ์ฐ์ ์์ ๋ํด ๊ฐ์ง๊ณ ์๋ค๊ฐ ์ต๋๊ฐ์ ๋ณด์ฌ์ฃผ๋ ์ ๊ทผ ๋ฐฉ์์
ddoance.tistory.com
์ด ๋ฌธ์ ์ ์ด๋ ค์ด ๋ฒ์ ์ผ๋ก, Gold V ๋ ๋ฒจ์ด ์๋ค.
์ด ํ์ด๋ก ์๋ํ์ง ์์๊ณ , ๊ฒฐ๊ตญ dp๋ก ๋ค์ ํ์ด์ผ ํ๋ค.
์๊ฐ์ด๊ณผ๊ฐ ๋ฐ์ํ ๊ฒฝ์ฐ, input์ ๋ฐ๋ ํ์์ ๋ฐ๊ฟ์ค์ผ ํ๋ค.
ํ์ด์ฌ(Python) ์๊ฐ ์ด๊ณผ ํด๊ฒฐ๋ฐฉ๋ฒ
ํ์ด์ฌ(Python) ์๊ฐ ์ด๊ณผ ํด๊ฒฐ๋ฐฉ๋ฒ โ input() ๋์ sys.stdin.readline() ์ฌ์ฉํ๊ธฐ input() ๋ด์ฅํจ์๋ sys.stdin.readline()๊ณผ ๋ฌ๋ฆฌ prompt message๋ฅผ ์ถ๋ ฅํ๊ณ , ๊ฐํ ๋ฌธ์๋ฅผ ์ญ์ ํ ๊ฒ์ ๋ฆฌํดํ๊ธฐ์(์ฆ, rstrip()๋ฅผ ์
animoto1.tistory.com
์ต์ข ํ์ด๋ ๋ค์๊ณผ ๊ฐ๋ค.
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 |