[SWEA] 1209 SUM

8103 단어 SWEAalgorithmSWEA

SWEA 1209번 SUM

이중 List의 row와 col의 각각의 합과, 대각선 각각의 합 중 가장 큰 합을 구하는 문제.
내장함수 max는 안쓰도록 했고, 대신 check 함수를 사용했다.

행 우선으로 돌면서 각 행의 합을 결과 리스트에 append.
열 우선으로 돌면서 각 열의 합을 결과 리스트에 append.
대각선으로 돌면서 합을 리스트에 append.
후에 check 함수로 max값 구하기.

import sys
sys.stdin = open('input.txt')

def check(results):
    max = results[0]
    for i in range(1, len(results)):
        if max < results[i]:
            max = results[i]
    return max



for tc in range(1, 11):
    num=int(input())
    result = 0
    N = 100
    matrix = []
    [matrix.append(list(map(int, input().split()))) for _ in range(N)]

    results = []
    for col in range(N):
        result = 0
        for row in range(N):
            result += matrix[col][row]
        results.append(result)

    for row in range(N):
        result = 0
        for col in range(N):
            result += matrix[col][row]
        results.append(result)

    right = 0
    left = 0
    for d in range(N):
        right += matrix[d][d]
        left += matrix[d][N-1-d]
    results.append(right)
    results.append(left)
    max = check(results)

    print("#{} {}".format(tc, max))

좋은 웹페이지 즐겨찾기