[๋ฐฑ์ค/python] 9465๋ฒ : ์คํฐ์ปค
๋ฌธ์
์๊ทผ์ด์ ์ฌ๋์ ์๋ฅ์ด๋ ๋ฌธ๋ฐฉ๊ตฌ์์ ์คํฐ์ปค 2n๊ฐ๋ฅผ ๊ตฌ๋งคํ๋ค. ์คํฐ์ปค๋ ๊ทธ๋ฆผ (a)์ ๊ฐ์ด 2ํ n์ด๋ก ๋ฐฐ์น๋์ด ์๋ค. ์๋ฅ์ด๋ ์คํฐ์ปค๋ฅผ ์ด์ฉํด ์ฑ ์์ ๊พธ๋ฏธ๋ ค๊ณ ํ๋ค.
์๋ฅ์ด๊ฐ ๊ตฌ๋งคํ ์คํฐ์ปค์ ํ์ง์ ๋งค์ฐ ์ข์ง ์๋ค. ์คํฐ์ปค ํ ์ฅ์ ๋ผ๋ฉด, ๊ทธ ์คํฐ์ปค์ ๋ณ์ ๊ณต์ ํ๋ ์คํฐ์ปค๋ ๋ชจ๋ ์ฐข์ด์ ธ์ ์ฌ์ฉํ ์ ์๊ฒ ๋๋ค. ์ฆ, ๋ ์คํฐ์ปค์ ์ผ์ชฝ, ์ค๋ฅธ์ชฝ, ์, ์๋์ ์๋ ์คํฐ์ปค๋ ์ฌ์ฉํ ์ ์๊ฒ ๋๋ค.
๋ชจ๋ ์คํฐ์ปค๋ฅผ ๋ถ์ผ ์ ์๊ฒ๋ ์๋ฅ์ด๋ ๊ฐ ์คํฐ์ปค์ ์ ์๋ฅผ ๋งค๊ธฐ๊ณ , ์ ์์ ํฉ์ด ์ต๋๊ฐ ๋๊ฒ ์คํฐ์ปค๋ฅผ ๋ผ์ด๋ด๋ ค๊ณ ํ๋ค. ๋จผ์ , ๊ทธ๋ฆผ (b)์ ๊ฐ์ด ๊ฐ ์คํฐ์ปค์ ์ ์๋ฅผ ๋งค๊ฒผ๋ค. ์๋ฅ์ด๊ฐ ๋ ์ ์๋ ์คํฐ์ปค์ ์ ์์ ์ต๋๊ฐ์ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. ์ฆ, 2n๊ฐ์ ์คํฐ์ปค ์ค์์ ์ ์์ ํฉ์ด ์ต๋๊ฐ ๋๋ฉด์ ์๋ก ๋ณ์ ๊ณต์ ํ์ง ์๋ ์คํฐ์ปค ์งํฉ์ ๊ตฌํด์ผ ํ๋ค.
์์ ๊ทธ๋ฆผ์ ๊ฒฝ์ฐ์ ์ ์๊ฐ 50, 50, 100, 60์ธ ์คํฐ์ปค๋ฅผ ๊ณ ๋ฅด๋ฉด, ์ ์๋ 260์ด ๋๊ณ ์ด ๊ฒ์ด ์ต๋ ์ ์์ด๋ค. ๊ฐ์ฅ ๋์ ์ ์๋ฅผ ๊ฐ์ง๋ ๋ ์คํฐ์ปค (100๊ณผ 70)์ ๋ณ์ ๊ณต์ ํ๊ธฐ ๋๋ฌธ์, ๋์์ ๋ ์ ์๋ค.
์ ๋ ฅ
์ฒซ์งธ ์ค์ ํ ์คํธ ์ผ์ด์ค์ ๊ฐ์ T๊ฐ ์ฃผ์ด์ง๋ค. ๊ฐ ํ ์คํธ ์ผ์ด์ค์ ์ฒซ์งธ ์ค์๋ n (1 ≤ n ≤ 100,000)์ด ์ฃผ์ด์ง๋ค. ๋ค์ ๋ ์ค์๋ n๊ฐ์ ์ ์๊ฐ ์ฃผ์ด์ง๋ฉฐ, ๊ฐ ์ ์๋ ๊ทธ ์์น์ ํด๋นํ๋ ์คํฐ์ปค์ ์ ์์ด๋ค. ์ฐ์ํ๋ ๋ ์ ์ ์ฌ์ด์๋ ๋น ์นธ์ด ํ๋ ์๋ค. ์ ์๋ 0๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ๊ณ , 100๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์ ์์ด๋ค.
์ถ๋ ฅ
๊ฐ ํ ์คํธ ์ผ์ด์ค ๋ง๋ค, 2n๊ฐ์ ์คํฐ์ปค ์ค์์ ๋ ๋ณ์ ๊ณต์ ํ์ง ์๋ ์คํฐ์ปค ์ ์์ ์ต๋๊ฐ์ ์ถ๋ ฅํ๋ค.
์ ๋ต
import sys
input = sys.stdin.readline
T = int(input())
for _ in range(T):
n = int(input())
stickers = [list(map(int, input().split())) for _ in range(2)]
if n == 1:
print(max(stickers[0][0], stickers[1][0]))
else:
stickers[0][1] += stickers[1][0]
stickers[1][1] += stickers[0][0]
for i in range(2, n):
stickers[0][i] += max(stickers[1][i-1], stickers[1][i-2])
stickers[1][i] += max(stickers[0][i-1], stickers[0][i-2])
print(max(stickers[0][n-1], stickers[1][n-1]))
n์ด 1์ผ ๊ฒฝ์ฐ, ์คํฐ์ปค 2๊ฐ๊ฐ ์ธ์ ํด ์์ผ๋ฏ๋ก ๋ ์ค ๋์ ์ ์๋ฅผ ์ถ๋ ฅํ๋ฉด ๋๋ค.
n์ด 2์ผ ๊ฒฝ์ฐ ์์ ๊ฐ์ ๋ชจ์์ผ๋ก, ๋ง์ง๋ง ์ธ๋ฑ์ค 1์ ์ ์ฅ์์ ๋ดค์ ๋
๋นจ๊ฐ ์ฒดํฌ๋ฅผ ๋ํ ๊ฐ ๋๋ ํ๋ ์ฒดํฌ๋ฅผ ๋ํ ๊ฐ ์ค ๋์ ์ ์๋ฅผ ์ถ๋ ฅํ๋ค.
n์ด 3์ผ ๊ฒฝ์ฐ ์์ ๊ฐ์ ๋ชจ์์ผ๋ก, ๋ง์ง๋ง ์ธ๋ฑ์ค 2์ ์ ์ฅ์์ ๋ดค์ ๋
๋นจ๊ฐ ํ์ ๋ ๊ฐ ์ค ํ๋๋ฅผ ๋ํ ๊ฐ ๋๋ ํ๋ ํ์ ๋ ๊ฐ ์ค ํ๋๋ฅผ ๋ํ ๊ฐ ์ค ๋์ ์ ์๋ฅผ ์ถ๋ ฅํ๋ค.
์ด ๋ ์ธ๋ฑ์ค 1์ ์๋ ๊ฐ์ n์ด 2์ผ ๊ฒฝ์ฐ์ ๊ณผ์ ์ ํ ์ํ์ ๊ฐ์ด ๋ค์ด์๋ค.
์์ ๊ฐ์ด n์ด 2 ์ด์์ผ ๊ฒฝ์ฐ ๋ง์ง๋ง ์ธ๋ฑ์ค n์
๋ค๋ฅธ ์ค์ ์ธ๋ฑ์ค n-1 ๋๋ n-2์ ๊ฐ ์ค ํฐ ๊ฐ์ด ํ๋ณด๊ฐ ๋จ์ ์ ์ ์๋ค.
'๐์๊ณ ๋ฆฌ์ฆ > ๋ฐฑ์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค/python] 1753๋ฒ : ์ต๋จ๊ฒฝ๋ก (0) | 2021.09.01 |
---|---|
[๋ฐฑ์ค/python] 12865๋ฒ : ํ๋ฒํ ๋ฐฐ๋ญ (0) | 2021.08.30 |
[๋ฐฑ์ค/python] 3190๋ฒ : ๋ฑ (0) | 2021.08.28 |
[๋ฐฑ์ค/python] 9935๋ฒ : ๋ฌธ์์ด ํญ๋ฐ (0) | 2021.08.26 |
[๋ฐฑ์ค/python] 12851๋ฒ : ์จ๋ฐ๊ผญ์ง 2 (0) | 2021.08.25 |