Objective
Today, we are building on our knowledge of arrays by adding another dimension. Check out the Tutorial tab for learning materials and an instructional video.
Context
Given a 2D Array, :
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
We define an hourglass in to be a subset of values with indices falling in this pattern in 's graphical representation:
a b c
d
e f g
There are hourglasses in , and an hourglass sum is the sum of an hourglass' values.
Task
Calculate the hourglass sum for every hourglass in , then print the maximum hourglass sum.
Example
In the array shown above, the maximum hourglass sum is for the hourglass in the top left corner.
Input Format
There are lines of input, where each line contains space-separated integers that describe the 2D Array .
Constraints
- -9 <= a[i][j] <= 9
- 0 <= i,j <= 5
Output Format
Print the maximum hourglass sum in .
Sample Input
1 1 1 0 0 0
0 1 0 0 0 0
1 1 1 0 0 0
0 0 2 4 4 0
0 0 0 2 0 0
0 0 1 2 4 0
Sample Output
19
Explanation
contains the following hourglasses:
1 1 1 1 1 0 1 0 0 0 0 0
1 0 0 0
1 1 1 1 1 0 1 0 0 0 0 0
0 1 0 1 0 0 0 0 0 0 0 0
1 1 0 0
0 0 2 0 2 4 2 4 4 4 4 0
1 1 1 1 1 0 1 0 0 0 0 0
0 2 4 4
0 0 0 0 0 2 0 2 0 2 0 0
0 0 2 0 2 4 2 4 4 4 4 0
0 0 2 0
0 0 1 0 1 2 1 2 4 2 4 0
The hourglass with the maximum sum () is:
2 4 4
2
1 2 4
- 2차원 리스트에서 모래시계 모양에 맞춰 정수를 전부 더해주고 그랬을경우 가장 큰 경우의 수를 출력한다.
- x, y, c 라는 위치를 알수있는 정수를 선언해주고
- 16번의 반복을하며, xyc를 증가시켜준다.
- x위치가 2차원 배열의 사이즈 만큼 도달하면 y를 증가시켜주기를 반복하여 max값을 구한다.
- 음수가 들어올수도있으니 max는 -100으로 초기화 시켜준다
'알고리즘 > Hackerrank' 카테고리의 다른 글
[Hackerrank] Abstract Classes (0) | 2021.10.11 |
---|---|
[Hackerrank] Ingeritance (0) | 2021.10.10 |
[Hackerrank] Binary Numbers (0) | 2021.10.10 |
[Hackerrank] Recursion 3 (0) | 2021.10.10 |
[Hackerrank] Dictionaries and Maps (0) | 2021.10.05 |