본문 바로가기

코딩테스트 with PYTHON

[python] 코딩테스트 대비 - 2차원 배열 합

문제)

 

 

정답 코드)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
import sys
#sys.stdin = open("input.txt", 'r')
n=int(input())
a=[list(map(int, input().split())) for _ in range(n)]#2차원 배열 초기화
 
largest=-2147000000
for i in range(n): #열행 합 추출
    sum1=sum2=0
    
    for j in range(n):
        sum1+=a[i][j]#가로
        sum2+=a[j][i]#세로
        
    if sum1>largest:
        largest=sum1
    if sum2>largest:
        largest=sum2
 
sum1=sum2=0
for i in range(n):#대각선 합 추출
    sum1+=a[i][i]#왼쪽 대각선 합
    sum2+=a[i][n-i-1]#오른쪽 대각선 합
    
if sum1>largest:
    largest=sum1
if sum2>largest:
    largest=sum2
 
print(largest)#최대값 출력
 
cs