[Hackerrank] Data Structures - Array2D 풀이
예문
https://www.hackerrank.com/challenges/java-2d-array/problem
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
2 4 4
2
1 2 4
해석
- 6 * 6 인 2차원 배열
- 모래시계들의 합을 구해서 최대 합을 갖는 모래시계의 합을 출력하라.
풀이
- 각 모래시계의 합을 구한 뒤 최대 값 비교
제약사항
코드
public int solution(int[][] arr) {
int max = Integer.MIN_VALUE;
int sum;
for (int i = 2; i < 6; i++) {
for (int j = 2; j < 6; j++) {
sum = 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];
max = Math.max(max, sum);
}
}
System.out.println(max);
return max;
}