1209. [S/W 문제해결 기본] 2일차 - Sum

D3

Problem

SW Expert Academy Sum

 

SW Expert Academy

SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!

swexpertacademy.com


Solution

1. 가로와 세로, 그리고 각 대각선의 합을 구한 후, 최댓값을 구한다.

Code

max()함수 미사용

for _ in range(10):
    N = int(input())
    arr = [list(map(int, input().split())) for _ in range(100)]
    cross1 = cross2 = 0
    max = 0
    for i in range(100):
        width = height = 0
 
        for j in range(100):
            # 행
            width += arr[i][j]
            # 열
            height += arr[j][i]
        # 대각선1
        cross1 += arr[i][i]
        # 대각선 2
        cross2 += arr[99-i][i]
    # 최대값 구하기
        if max < width:
            max = width
        if max < height:
            max = height
    if max < cross1:
        max = cross1
    if max < cross2:
        max = cross2
    print(f'#{N} {max}')

max()함수 사용

for _ in range(10):
    N = int(input())
    arr = [list(map(int, input().split())) for _ in range(100)]
    cross1 = cross2 = max_val = 0
    for i in range(100):
        width = height = 0
  
        for j in range(100):
            # 행
            width += arr[i][j]
            # 열
            height += arr[j][i]
        # 최대값 구하기
        max_val = max(max_val, width, height)
        # 대각선1
        cross1 += arr[i][i]
        # 대각선 2
        cross2 += arr[99-i][i]
     
    print(f'#{N} {max(max_val, cross1, cross2)}')


<부족한 부분은 댓글로 남겨주시면 저에게 도움이 됩니다!>

반응형