1209 - sum

박재현·2022년 2월 14일
0

알고리즘 부수기

목록 보기
18/43
post-thumbnail

문제 링크

1209-sum

문제 풀이

  1. 각각의 경우를 전부 탐색한다.
  2. 각각의 경우에 max 값을 찾는다.
  3. max값들끼리 비교해 가장 큰 값 하나를 찾고 출력한다.

코드

while True:
    T = int(input())
    arr = [list(map(int, input().split())) for _ in range(100)]
    arrCol = [0] * 100
    arrRow = [0] * 100
    arrCross1 = 0
    arrCross2 = 0

    for i in range(100):
        for j in range(100):
            arrCol[i] += arr[i][j]
            arrRow[j] += arr[i][j]
            if i == j:
                arrCross1 += arr[i][i]
            if i + j == 100:
                arrCross2 += arr[i][j]

    maxCol = arrCol[0]
    maxRow = arrRow[0]

    for i in range(100):
        if maxCol < arrCol[i]:
            maxCol = arrCol[i]
        if maxRow < arrRow[i]:
            maxRow = arrRow[i]

    maxValues = [maxCol, maxRow, arrCross1, arrCross2]
    result = 0
    for i in range(4):
        if result < maxValues[i]:
            result = maxValues[i]
    print(f"#{T} {result}")

    if (T == 10):
        break

출처
https://swexpertacademy.com/main/talk/solvingClub/problemView.do?solveclubId=AX7XkEeqarQDFAS2&contestProbId=AV13_BWKACUCFAYh&probBoxId=AX73IQRaxeEDFARO&type=PROBLEM&problemBoxTitle=IM_03&problemBoxCnt=2

profile
공동의 성장을 추구하는 개발자

0개의 댓글