https://school.programmers.co.kr/learn/courses/30/lessons/43105
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
def solution(triangle):
for i in range(1, len(triangle)): # 두 번째 행부터 시작
for j in range(len(triangle[i])):
if j == 0: # 가장 왼쪽
triangle[i][j] += triangle[i-1][j]
elif j == len(triangle[i]) - 1: # 가장 오른쪽
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[-1]) # 마지막 행의 최댓값 반환
처음엔 j == 0 과, j == len(triangle[i]) -1 일 때를 같은 코드로 처리해서 틀렸었다... 후자는 j-1로 해줘야된다!
'프로그래머스' 카테고리의 다른 글
프로그래머스 42576. 완주하지 못한 선수 (0) | 2025.01.04 |
---|---|
프로그래머스 1845. 폰켓몬 (0) | 2025.01.04 |
프로그래머스 150369. 택배 배달과 수거하기 (0) | 2024.11.26 |
프로그래머스 150368. 이모티콘 할인행사 (0) | 2024.11.24 |
프로그래머스 42839. 소수 찾기 (0) | 2024.11.19 |