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])])
λ°μν