Algorithms/프로그래머스

[프로그래머스] Lv3. 정수삼각형

devran 2023. 11. 15. 20:33
반응형

3️⃣정수삼각형

https://school.programmers.co.kr/learn/courses/30/lessons/43105

💡 아이디어

가장 꼭대기에서 바닥까지 이동하고, 좌우 대각선 방향으로만 이동할 수 있다는 것을 이용하여 규칙을 찾았다.

각줄의 첫번째 수는 바로 직전의 첫번째 수를 이어받고,

마지막 수는 직전의 마지막 수를 이어받는다

그리고 나머지 수들은 대각선 좌우로 더 큰 값을 받는다

📝 풀이

def solution(triangle):
    
    for i in range(1, len(triangle)): # 둘째 줄부터 끝까지 
        for j in range(i+1):
            
            if j == 0: # 첫번째 수
                triangle[i][j] += triangle[i-1][j]
                
            elif j == i: # 마지막 수
                triangle[i][j] += triangle[i-1][j-1]
                
            else: # 그 전에꺼 대각선 방향중 더 큰것 더하기
                triangle[i][j] += max(triangle[i-1][j-1], triangle[i - 1][j])
                
    return max(triangle[len(triangle)-1])

 

반응형