본 내용은 파이썬 알고리즘 문제풀이 (코딩테스트 대비) 강의를 토대로 작성하였습니다.
# 격자판 최대합
import sys
#sys.stdin = open("input.txt", 'r')
n=int(input())
a = [list(map(int, input().split())) for _ in range(n)]
res = 0
# 각 행열의 합 중 최대값을 찾는다.
for i in range(n):
sum1 = sum2 = 0
for j in range(n):
# 행의합
sum1 += a[i][j]
# 열의합
sum2 += a[j][i]
# 비교하여 최대값을 저장한다.
if res < sum1:
res = sum1
if res < sum2:
res = sum2
# 두 대각선의 합 중 최대값을 찾는다.
sum1 = sum2 = 0
for i in range(n):
sum1 += a[i][i]
sum2 += a[i][n-i-1]
# 비교하여 최대값을 저장한다.
if res < sum1:
res = sum1
if res < sum2:
res = sum2
print(res)
'Algorithm > 파이썬 알고리즘 문제풀이' 카테고리의 다른 글
[python/inflearn/section3] 곳감(모래시계) (0) | 2022.09.25 |
---|---|
[python/inflearn/section3] 사과나무(다이아몬드) (1) | 2022.09.25 |
[python/inflearn/section3] 수들의 합 (0) | 2022.09.22 |
[python/inflearn/section3] 두 리스트 합치기 (0) | 2022.09.22 |
[python/inflearn/section3] 카드 역배치(정올 기출) (0) | 2022.09.22 |