문제
N*N의 격자판이 주어지면 각 행의 합, 각 열의 합, 두 대각선의 합 중 가 장 큰 합을 출력하기
조건
5*5 격자판에 아래롸 같이 숫자가 적혀있습니다.

제한사항
첫 줄에 자연수 N이 주어진다.(1<=N<=50) 두 번째 줄부터 N줄에 걸쳐 각 줄에 N개의 자연수가 주어진다.
각 자연수는 100을 넘지 않는다.
최대합을 출력합니다.
문제풀이
N=int(input())
a=[list(map(int, input().split())) for _ in range(N)]
ver=0
hor=0
f_diag=0
s_diag=0
arr=[]
for i in range(N):
for j in range(N):
hor+=a[i][j]
ver+=a[j][i]
arr.append(hor)
hor=0
arr.append(ver)
ver=0
for i in range(N):
f_diag+=a[i][i]
s_diag+=a[i][N-i-1]
arr.append(f_diag)
arr.append(s_diag)
print(max(arr))
N=int(input())
a=[]
hor=0
ver=0
dia1=0
dia2=0
res=[]
for i in range(N):
b=list(map(int, input().split()))
a.append(b)
for x in a:
res.append(sum(x))
for y in range(N):
if ver!=0:
res.append(ver)
ver=0
for x in a:
ver+=x[y]
for x in range(N):
for y in range(N):
if x==y:
dia1+=a[x][y]
for x in range(N):
for y in range(N-1, -1, -1):
if x+y==N-1:
dia2+=a[x][y]
res.append(dia1)
res.append(dia2)
print(max(res))'파이썬 알고리즘 풀이' 카테고리의 다른 글
| 18) 곳감(모래시계) (0) | 2021.10.22 |
|---|---|
| 17) 사과나무(다이아몬드) (0) | 2021.10.22 |
| 15) 수들의 합 (0) | 2021.10.20 |
| 14) 두 리스트 합치기 (0) | 2021.10.20 |
| 13) 카드 역배치(정올 기출) (0) | 2021.10.20 |