Development/CodingTest
[ํ๋ก๊ทธ๋๋จธ์ค]Python ์ ์ ์ผ๊ฐํ
Kirok Kim
2022. 1. 31. 23:53
ํ์ด 1
def solution(triangle):
answer=0
result=[ [] for i in range(len(triangle))]
result[0].append(triangle[0]) # 0
result[1].append(triangle[0][0]+triangle[1][0])
result[1].append(triangle[0][0]+triangle[1][1]) # 1
result[2].append(result[1][0]+triangle[2][0])
result[2].append(max(result[1][0]+triangle[2][1],result[1][1]+triangle[2][1]))
result[2].append(result[1][1]+triangle[2][2]) # 2
# ์์ ์๋ ์์๋ค์ 0๋ง๊ณ ๋ ํ์์์
for i in range(3,len(triangle)):
for j in range(len(triangle[i])):
if j==0: #์ฒซ๋ฒ์จฐ
result[i].append(result[i-1][j]+triangle[i][j])
elif j==len(triangle[i])-1: #๋ง์ง๋ง๊บผ
result[i].append(result[i-1][j-1]+triangle[i][j])
else: #๋๋จธ์ง๋ค
result[i].append(max(result[i-1][j-1]+triangle[i][j], result[i-1][j]+triangle[i][j]))
answer= max(result[-1])
return answer
ํ ์ค ์ฝ๋...(๋ถ์์ค)
solution = lambda t, l = []: max(l) if not t else solution(t[1:], [max(x,y)+z for x,y,z in zip([0]+l, l+[0], t[0])])
๋ฐ์ํ