Search

์กฐ์˜ˆ์ง€

2.๋ฌธ์ œ์ด๋ฆ„
3. ์ˆ˜ํ–‰์‹œ๊ฐ„[์ดˆ(s)]
3600
์ข‹์•„์š” ๋ˆ„๋ฅด๊ธฐ
์ข‹์•„์š” ์ˆ˜
: 0
5 more properties
| ์ฝ”๋“œ ์ž‘์„ฑํ•˜๊ธฐ
def solution(triangle): dp = triangle dp[0][0] = triangle[0][0] for i in range(len(triangle)): for j in range(i+1): if j == 0: a = 0 else: a = triangle[i-1][j-1] if j == i: b = 0 else: b = triangle[i - 1][j] val = max(a, b) dp[i][j] = triangle[i][j] + val return max(dp[len(triangle)-1])
Java
๋ณต์‚ฌ
| ์ฝ”๋“œ ์„ค๋ช…ํ•˜๊ธฐ
โ€ข
์ฒ˜์Œ์—๋Š” ํฐ ์ˆ˜๋งŒ ๋”ฐ๋ผ๊ฐ”๋Š”๋ฐ ๋ฌธ์ œ์—์„œ๋Š” ์ธ์ ‘ํ•œ ์ˆ˜๋กœ๋งŒ ์ด๋™์ด ๊ฐ€๋Šฅํ•˜๋‹ค๋Š” ์กฐ๊ฑด์ด ์žˆ์—ˆ๋‹ค.
โ€ข
๋งˆ๋ƒฅ ํฐ ์ˆ˜๋งŒ ์ซ“๋Š” ๊ฒƒ์€ ๊ทธ๋ฆฌ๋””๋กœ ๊ทธ ๋‹ค์Œ์ค„์— ๋” ํฐ ์ˆ˜๊ฐ€ ๋‚˜์˜ค๋ฉด ํ‹€๋ฆฐ ํ’€์ด๋ฒ•์ด ๋œ๋‹ค.
โ€ข
๋ชจ๋“  ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ์ฐพ๊ธฐ ์œ„ํ•ด์„œ๋Š” triangle๊ณผ ๊ฐ™์€ ๋ฐฐ์—ด์— ์ตœ๋Œ€ํ•ฉ์„ ์ €์žฅํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•ด์•ผ ํ–ˆ๋‹ค.
์œ„์—์„œ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ๋Š” ๋‘ ์ˆ˜ ์ค‘์— ํฐ ์ˆ˜์™€ ํ˜„์žฌ ์œ„์น˜๋ฅผ ๋”ํ•ด์„œ dp์— ์ €์žฅํ•˜์˜€๋‹ค.
์–‘์ชฝ ๋์— ์žˆ๋Š” ์ˆ˜๋Š” ๋น„๊ตํ•  ์ˆ˜๊ฐ€ ํ•˜๋‚˜๋งŒ ์žˆ์œผ๋ฏ€๋กœ ์ด์— ๋งž๋Š” ์ฒ˜๋ฆฌ๋ฅผ ํ•ด์ฃผ์—ˆ๋‹ค.
์ด๋Ÿฌํ•œ ์ฒ˜๋ฆฌ๋ฅผ ์•ˆํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์•„๋ž˜์ฒ˜๋Ÿผ ๋ฐ‘์—์„œ ์˜ฌ๋ผ๊ฐ€๋Š” ๋ฐฉ๋ฒ•์ด ์ข‹์„ ๊ฒƒ ๊ฐ™๋‹ค.
def solution(triangle): height = len(triangle) while height > 1: for i in range(height - 1): triangle[height-2][i] += max([triangle[height-1][i], triangle[height-1][i+1]]) height -= 1 answer = triangle[0][0] return answer
Python
๋ณต์‚ฌ