[파이썬 알고리즘 문제풀이] - Section3 / 탐색 & 시뮬레이션 -6

Chooooo·2023년 1월 25일
0

🎈 격자판 최대합

55 격자판에 아래롸 같이 숫자가 적혀있습니다.
10 13 10 12 15
12 39 30 23 11
11 25 50 53 15
19 27 29 37 27
19 13 30 13 19
N
N의 격자판이 주어지면 각 행의 합, 각 열의 합, 두 대각선의 합 중 가 장 큰 합을 출력합
니다.

▣ 입력설명
첫 줄에 자연수 N이 주어진다.(1<=N<=50)
두 번째 줄부터 N줄에 걸쳐 각 줄에 N개의 자연수가 주어진다. 각 자연수는 100을 넘지 않는
다.

▣ 출력설명
최대합을 출력합니다.

import sys
# sys.stdin = open("input.text", "rt")

N = int(input())
data = [list(map(int, input().split())) for _ in range(N)] #NxN 2차원 리스트

max_data = -2424242424
for x in data:
    if max_data < sum(x):
        max_data = sum(x)

for i in range(N):
    sum_col = 0
    for j in range(N):
        sum_col += data[j][i]
    if sum_col > max_data:
        max_data = sum_col

sum_d = 0
sum_d2 = 0
for i in range(N):
    sum_d += data[i][i]
    sum_d2 +=data[i][N-1-i]

if max_data < sum_d:
    max_data = sum_d
if sum_d > max_data:
    max_data = sum_d

print(max_data)

🎃 코멘트
파이썬 2차원 리스트 간단하게 입력받기. 그냥 전부 다 돌려보면 됨.

profile
back-end, 지속 성장 가능한 개발자를 향하여

0개의 댓글