July 3, 2017 Andrey

2D Array easy hackerrank challenge in Swift 3

https://www.hackerrank.com/challenges/2d-array

Had to refresh memory how to parse input from Hackerrank in Swift 3.

import Foundation;

func run() {
    var arr : [[Int]] = []
    for _ in 0 ... 5 { 
       let numbers = readLine()!.components(separatedBy: [" "]).map { Int($0)! }
       arr.append(numbers);
    }
    
    var maxSum = calculateHourglass(arr: arr, x: 0, y: 0)
    
    for i in 0 ... 3 {
        for j in 0 ... 3 {
             let result = calculateHourglass(arr: arr, x: i, y: j)
             if (maxSum < result){
                maxSum = result
             }
        }
    }
    
    print(maxSum)
}

func calculateHourglass(arr: [[Int]], x: Int, y: Int) -> Int {
   var sum = 0
   for i in x ... x+2 {
       if (i == x+1) {
        sum += arr[i][y+1]
       } else {
        for j in y ... y+2 {
            sum += arr[i][j]
        }
       }
   } 
   return sum
}

run()