ํฐ์คํ ๋ฆฌ ๋ทฐ
๋ฌธ์
1932๋ฒ: ์ ์ ์ผ๊ฐํ
๋ฌธ์ 7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 ์ ๊ทธ๋ฆผ์ ํฌ๊ธฐ๊ฐ 5์ธ ์ ์ ์ผ๊ฐํ์ ํ ๋ชจ์ต์ด๋ค. ๋งจ ์์ธต 7๋ถํฐ ์์ํด์ ์๋์ ์๋ ์ ์ค ํ๋๋ฅผ ์ ํํ์ฌ ์๋์ธต์ผ๋ก ๋ด๋ ค์ฌ ๋, ์ด์ ๊น์ง ์ ํ๋ ์์ ํฉ์ด ์ต๏ฟฝ
www.acmicpc.net
๋ฌธ์ ํ์ด
์ผ๊ฐํ์ ํน์ฑ์ ์ดํดํ๋ฉด ์ฝ๊ฒ ํ ์ ์๋ ๋ฌธ์ ์ด๋ค. ์ผ๊ฐํ ์ข/์ฐ์ธก ๋ณ์ ์๋ ๊ฐ๋ค์ ์์ ๊ฐ ์ค ํ๋์ ๊ฐ๋ง ๋ํ๋ฉด ๋์ง๋ง ๊ฐ ๋ ๋ณ์ด ์๋ ๊ฒฝ์ฐ๋ 2๊ฐ์ ๊ฐ์ ๋ฐ๊ฒ ๋๋ค. ๋ฐ๋ผ์ ์ข/์ฐ์ธก ๋ณ์ ์ ์ธํ๊ณ ๋๋จธ์ง๋ ๊ฐ์ฅ ํฐ ๊ฐ์ ๋์ ํด์ฃผ๋ฉด ๋ฌธ์ ๋ฅผ ํ ์ ์๋ค.
์ฝ๋
from sys import stdin
if __name__ == '__main__':
n = int(stdin.readline())
triangle =\
[list(map(int, stdin.readline().split())) for _ in range(n)]
for i in range(1, n):
for j in range(i + 1):
# ๊ฐ์ฅ ์ข์ธก์ธ ๊ฒฝ์ฐ
if not j:
triangle[i][j] += triangle[i - 1][j]
# ๊ฐ์ฅ ์ฐ์ธก์ธ ๊ฒฝ์ฐ
elif j == i:
triangle[i][j] += triangle[i - 1][j - 1]
# ์ค๊ฐ์ ์์ 2๊ฐ์ ๊ฐ์ ๋น๊ตํ์ฌ์ผ ํ๋ ๊ฒฝ์ฐ
else:
triangle[i][j] += \
max(triangle[i - 1][j], triangle[i - 1][j - 1])
print(max(triangle[n - 1]))
'๐จโ๐ป ์ฝ๋ฉํ ์คํธ > ๋ฐฑ์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋ฐฑ์ค: 11722 ๊ฐ์ฅ ๊ธด ๊ฐ์ํ๋ ๋ถ๋ถ ์์ด (0) | 2020.07.05 |
---|---|
๋ฐฑ์ค: 11055 ๊ฐ์ฅ ํฐ ์ฆ๊ฐ ๋ถ๋ถ ์์ด (0) | 2020.07.05 |
๋ฐฑ์ค: 2156 ํฌ๋์ฃผ ์์ (0) | 2020.07.04 |
๋ฐฑ์ค: 9465 ์คํฐ์ปค (0) | 2020.07.03 |
๋ฐฑ์ค: 2309 ์ผ๊ณฑ ๋์์ด (0) | 2020.07.03 |