본문 바로가기
코딩테스트/SWExpertAcademy

[Python] SWEA 1209 - Sum

by Ssubini 2022. 4. 13.

[2022.02.15]

 

>문제

100X100의 2차원 배열이 주어질 때, 각 행의 합, 각 열의 합, 각 대각선의 합 중 최댓값을 구하는 프로그램을 작성하여라.

 

for tc in range(10):
    t = int(input())
    arr = [list(map(int,input().split())) for _ in range(100)]
    # 초기 maxsum값 지정
    maxsum = 0
    for i in range(100):
        maxsum+= arr[0][i]

    # 1. 가로합 중 최대 찾아 갱신
    for i in range(1,100):
        tmpsum = 0
        for j in range(100):
            tmpsum+= arr[i][j]
        if maxsum < tmpsum :
            maxsum = tmpsum

    # 2. 세로합 중 최대 찾아 갱신
    for i in range(100):
        tmpsum = 0
        for j in range(100):
            tmpsum += arr[j][i]
        if maxsum < tmpsum :
            maxsum = tmpsum

    # 3. 대각선1
    tmpsum = 0
    for i in range(0,100):
        tmpsum += arr[i][i]
    if maxsum < tmpsum:
        maxsum = tmpsum

    # 3. 대각선2
    tmpsum = 0
    for i in range(100-1,-1,-1):
        tmpsum += arr[i][i]
    if maxsum < tmpsum:
        maxsum = tmpsum

    print(f'#{tc+1} {maxsum}')

댓글