[Interview Preparation Kit] Array-1

이희진·2022년 11월 29일
0

Problem

아래오 같은 6 x 6 사이즈의 array 가 주어졌을때, 3 x 3 크기의 모래시계는 총 16개가 생성된다.
모래시계의 합 중 가장 큰 것을 return 하라.

1 1 1 0 0 0
0 1 0 0 0 0
1 1 1 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0
0 0 0 0 0 0

solution

import math

def hourglassSum(arr):
    result = -math.inf
    for row in range(4):
            for col in range(4):
                hour_glass_sum = \
                arr[row][col] + arr[row][col+1] + arr[row][col+2] + \
                arr[row+1][col+1] + \
                arr[row+2][col] + arr[row+2][col+1] + arr[row+2][col+2]
                result = max((result, hour_glass_sum))
    return result

0개의 댓글