HankerRank 2D Array - DS

x·2021년 4월 29일
0

problem-solving

목록 보기
5/18

6X6 2차원 배열을 돌면서 모래시계(I) 모양의 원소들을 합친 것들 중 가장 큰 수를 응답하면 된다
실수했던 부분은 mx를 0으로 했던 것이다. 원소의 최소값이 -9이므로 모래시계의 최소값은 -9x7 = -63 이므로 mx 역시 -63이 되어야 한다.

최대값에 -63을 박아놓고 모래시계 값이 그보다 크면 mx에 할당해준다

#!/bin/python3

import math
import os
import random
import re
import sys

# Complete the hourglassSum function below.
def hourglassSum(arr):
    mx = -63
    current = 0
    
    for i in range(0, 4):
        for j in range(0, 4):
            current = arr[i][j] + arr[i][j+1] + arr[i][j+2] + arr[i+1][j+1] + arr[i+2][j]+ arr[i+2][j+1]+ arr[i+2][j+2]
            
            mx = current if current > mx else mx
    
    return mx
            
if __name__ == '__main__':
    fptr = open(os.environ['OUTPUT_PATH'], 'w')

    arr = []

    for _ in range(6):
        arr.append(list(map(int, input().rstrip().split())))

    result = hourglassSum(arr)

    fptr.write(str(result) + '\n')

    fptr.close()

0개의 댓글