인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

Mmmm님의 프로필 이미지
Mmmm

작성한 질문수

파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)

6. 격자판 최대합

격자판 최대합

작성

·

251

0

이런식으로 함수를 만들어서 코드를 짰습니다.

실제로도 대각선, 세로, 가로 합, 최댓값 제대로 출력되는데 왜 채점에서는 wrong 으로 나올까요?

 

import sys
sys.stdin = open("input.txt", "rt")
n = int(input())
arr = []
for i in range(n):
    arr.append(list(map(int, input().split())))


def sumHorizon(n):
    sum = 0
    maxSum = 0

    for i in range(n):
        for j in range(n):
            sum += arr[i][j]
            if (j == n-1):
                if maxSum < sum:
                    maxSum = sum
                    sum = 0
                else:
                    sum = 0
    return maxSum


def sumVertical(n):
    sum = 0
    maxSum = 0
    
    for i in range(n):
        for j in range(n):
            sum += arr[j][i]
            if (j == n-1):
                if maxSum < sum:
                    maxSum = sum
                    sum = 0
                else:
                    sum = 0
    return maxSum


def sumDiagonal(n):
    lsum = 0 
    rsum = 0 
    maxSum = 0
    
    for i in range(n):
        lsum += arr[i][i]
        rsum += arr[i][n-i-1]
    
        if (i == n-1):
                if maxSum < lsum:
                    maxSum = lsum
                    lsum = 0
                elif maxSum < rsum:
                    maxSum = rsum
                    rsum = 0
                else:
                    lsum = 0
                    rsum = 0

    return maxSum

result = max(sumDiagonal(5), sumVertical(5), sumHorizon(5))
print(result)

답변 1

0

김태원님의 프로필 이미지
김태원
지식공유자

안녕하세요^^

채점폴더에 입력데이터가 있으니 스스로 디버그해보시면 좋을 것 같습니다.

Mmmm님의 프로필 이미지
Mmmm

작성한 질문수

질문하기