Given a 6x6 2D Array, arr:
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
An hourglass in is a subset of values with indices falling in this pattern in 's graphical representation:
a b c
d
e f g
There are 16 hourglasses in arr. An hourglass sum is the sum of an hourglass' values. Calculate the hourglass sum for every hourglass in arr, then print the maximum hourglass sum. The array will always be 6x6.
Example
arr =
-9 -9 -9 1 1 1
0 -9 0 4 3 2
-9 -9 -9 1 2 3
0 0 8 6 6 0
0 0 0 -2 0 0
0 0 1 2 4 0
The 16 hourglass sums are:
-63, -34, -9, 12,
-10, 0, 28, 23,
-27, -11, -2, 10,
9, 17, 25, 18
The highest hourglass sum is 28 from the hourglass beginning at row 1, column 2:
0 4 3
1
8 6 6
Function Description
Complete the function hourglassSum in the editor below.
hourglassSum has the following parameter(s):
- int arr[6][6]: an array of integers
Returns
- int: the maximum hourglass sum
Input Format
Each of the 6 lines of inputs arr[i] contains 6 space-separated integers .
Constraints
- -9 <= a[i], a[j] <= 9
- 0 <= i,j <= 5
Output Format
Print the largest (maximum) hourglass sum found in arr.
[Hint]
- 6x6 배열
- 16개 모래시계
func hourglassSum(arr: [[Int]]) -> Int {
//var ar = [[Int]](repeating: [Int](repeating: 0, count: 6), count: 6)
var max = -63
for i in 0..<4 {
for j in 0..<4 {
let tmp = 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]
if max < tmp {
max = tmp
}
}
}
return max
}
'Computer Science > Algorithm with Code' 카테고리의 다른 글
[HackerRank] Preparation_Kit (08. Minimum Swaps 2) [Array] (1) | 2024.09.26 |
---|---|
[HackerRank] Preparation_Kit (06. Left Rotation) [Array] (0) | 2024.09.21 |
[HackerRank] Preparation_Kit (04. Repeated String) (1) | 2024.09.17 |
[HackerRank] Preparation_Kit (03. Jumping on the Clouds) (0) | 2024.09.16 |
[HackerRank] Preparation_Kit (02. Counting Valleys) (2) | 2024.09.16 |