728x90
반응형
문제
https://www.acmicpc.net/problem/1932
표준 입력을 위한 sys모듈 추가.
정수 하나 입력.
입력받은 정수 만큼 층을 갖는 삼각형(정수) 입력받아 리스트에 저장(2차원).
import sys
input = sys.stdin.readline
n = int(input())
arr = [list(map(int, input().split())) for _ in range(n)]
삼각형의 맨 아래의 윗층(n-2 index)부터 탐색.
- 해당 i, j번째를 기준으로 아래에 있는 두 요소 ([i+1][j], [i+1][j+1]) 중 큰 값을 해당 번째에 누적하여 더해줌.
삼각형의 맨 위의 값([0][0]) 출력.
for i in range(n-2, -1, -1):
for j in range(i+1):
arr[i][j] += max(arr[i+1][j], arr[i+1][j+1])
print(arr[0][0])
전체 코드.
import sys
input = sys.stdin.readline
n = int(input())
arr = [list(map(int, input().split())) for _ in range(n)]
for i in range(n-2, -1, -1):
for j in range(i+1):
arr[i][j] += max(arr[i+1][j], arr[i+1][j+1])
print(arr[0][0])
728x90
반응형
'코딩 > 공부' 카테고리의 다른 글
[Python] 백준 2920번 - 음계 (1) | 2024.03.27 |
---|---|
[Python] 백준 10250번 - ACM 호텔 (1) | 2024.03.27 |
[Python] 백준 11053번 - 가장 긴 증가하는 부분 수열 (0) | 2024.03.27 |
[Python] 백준 2579번 - 계단 오르기 (0) | 2024.03.27 |
[Python] 백준 25400번 - 제자리 (1) | 2024.03.23 |