상세 컨텐츠

본문 제목

[HackerRank] 2D Array - DS (Python)

PROGRAMMING/Algorithm

by koharin 2021. 1. 12. 23:13

본문

728x90
반응형

Python

#!/bin/python3

import math
import os
import random
import re
import sys

# Complete the hourglassSum function below.
def hourglassSum(arr):
    total=[]
    for i in range(6):
        for j in range(6):
            if j+2<6 and i+2<6:
                total.append(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])
    return max(total) 
    

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()
def hourglassSum(arr):
    total=[]
    for i in range(len(arr)-2):
        for j in range(len(arr)-2):
            total.append(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])
    return max(total)
  • total에 각 hourglass sum을 넣어놓고, max(total)로 가장 큰 수를 반환한다.
  • i와 j 모두 length-2만큼만 반복하므로 범위를 len(arr)-2까지 해도 됐다.

 

728x90
반응형

관련글 더보기