NxN의 격자판이 주어질 때 각 행, 열, 두 대각선의 합 중 가장 큰 값을 출력하는 코드 작성
import sys
n = int(input())
grid = [list(map(int, input().split())) for _ in range(n)]
largest = -sys.maxsize
dia1 = 0
dia2 = 0
for i in range(n):
h = 0
v = 0
for j in range(n):
h += grid[i][j]
v += grid[j][i]
largest = max(largest, v, h)
dia1 += grid[i][i]
dia2 += grid[i][n-1-i]
largest = max(dia1, dia2, largest)
print(largest)
largest
에 int타입 최저값인 -sys.maxsize
부여, 각 대각선 숫자들의 합을 저장할 변수 dia1
, dia2
설정v
)과 열의 합(h
)을 합산하고, 매 행이 수행될 때마다 최대값을 갱신함n-1-i
값을 부여하여 두번째 대각선은 좌하향하며 덧셈연산을 수행하도록 설정largest
와 우하향 대각선 dia1
, 좌하향 대각선 dia2
에 저장된 값 중 가장 큰 값을 저장하여 출력