[알고리즘] 격자판 최대합
인프런 코딩 테스트 준비
탐색 & 시뮬레이션
N*N의 격자판이 주어지면 각 행의 합, 각 열의 합, 두 대각선의 합 중 가 장 큰 합을 출력합
니다.
▣ 입력예제 1
5
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
▣ 출력예제 1
155
< 내가 작성한 코드 >
from typing import List
import sys
sys.stdin = open("input.txt", "rt")
sums = []
arr = []
column = []
degak = []
degak2 = []
# sums.append(sum(map(int, input().split())))
def solution(N: int) -> int:
# 행
for i in range(N):
arr.append(list(map(int, input().split())))
sums.append(sum(arr[i]))
# 열
for j in range(N):
column.append([])
for k in range(N):
column[j].append((arr[k][j]))
sums.append(sum(column[j]))
# 대각선
for i in range(N):
degak.append(arr[i][i])
degak2.append(arr[(N-1)-i][i])
sums.append(sum(degak))
sums.append(sum(degak2))
return max(sums)
print(solution(int(input())))
🧑🏻 후기
행 / 열 / 대각선으로 나누어 계산한 값중 가장 큰 값을 출력하였다.
기존에 [list(map(int,input().split())) for _ in range(N)] 을 통해 초기화 했으면
코드 줄 수를 조금 더 줄였을거 같다.
Author And Source
이 문제에 관하여([알고리즘] 격자판 최대합), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@sdj3261/알고리즘-격자판-최대합저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)