2차원 배열 가로, 세로, 대각선 중 합의 최댓값 구하는 문제.
import sys
sys.stdin = open('input.txt')
def find_max(arr):
max_sum = 0
# 행 조사
for row in range(100):
sum_row = sum(arr[row])
if max_sum < sum_row:
max_sum = sum_row
# 열 조사
for column in range(100):
sum_column = sum([k for k in zip(*arr)][column])
if max_sum < sum_column:
max_sum = sum_column
# 대각선 조사
sum_diagonal1 = 0
sum_diagonal2 = 0
for i in range(100):
sum_diagonal1 += arr[i][i]
sum_diagonal2 += arr[i][99-i]
if max_sum < sum_diagonal1:
max_sum = sum_diagonal1
if max_sum < sum_diagonal2:
max_sum = sum_diagonal2
return max_sum
for _ in range(10):
test = int(input())
matrix = [list(map(int, input().split())) for _ in range(100)]
print(f'#{test} {find_max(matrix)}')
'practivceAlgorithm > swexpertacademy' 카테고리의 다른 글
[SWEA][Python] 4843 특별한 정렬 (0) | 2021.08.12 |
---|---|
[SWEA][Python] 4836 색칠하기 (0) | 2021.08.12 |
[SWEA][Python] L4839 이진탐색 (0) | 2021.08.12 |
[SWEA][Python] 1210 ladder1 (0) | 2021.08.12 |
[SWEA][Python] 1954 달팽이숫자 (0) | 2021.08.11 |