2D 어레이 - DS 코드 문제 해결
1853 단어 codechallengehackerrank
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
A의 모래시계를 arr의 그래픽 표현에서 이 패턴에 속하는 인덱스를 가진 값의 하위 집합으로 정의합니다.
a b c
d
e f g
arr에는 16개의 모래시계가 있으며, 모래시계 합은 모래시계 값의 합입니다. 모든 모래시계의 모래시계 합을 arr 단위로 계산한 다음 최대 모래시계 합을 출력하십시오.
예를 들어, 주어진 2D 배열:
-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
다음 16개의 모래시계 값을 계산합니다.
-63, -34, -9, 12,
-10, 0, 28, 23,
-27, -11, -2, 10,
9, 17, 25, 18
가장 높은 모래 시계 값은 모래 시계에서 28입니다.
0 4 3
1
8 6 6
기능 설명
아래 편집기에서 hourglassSum 함수를 완성하세요. 배열의 최대 모래시계 합계인 정수를 반환해야 합니다.
hourglassSum에는 다음 매개변수가 있습니다.
입력 형식
입력 arr[i]의 6줄 각각은 공백으로 구분된 6개의 정수 arr[i][j]를 포함합니다.
제약
-9 <= arr[i][j] <= 9
0 <= 나, j <= 5
출력 형식
int arr에서 발견된 가장 큰(최대) 모래시계 합입니다.
해결책
function hourglassSum($arr)
{
$sum = -72;
$sum_arr = array();
for ($line = 0; $line < 4; $line++) {
for ($col = 0; $col < 4; $col++) {
$top = $arr[$line][$col] + $arr[$line][$col + 1] + $arr[$line][$col + 2];
$middle = $arr[$line + 1][$col + 1];
$bottom = $arr[$line + 2][$col] + $arr[$line + 2][$col + 1] + $arr[$line + 2][$col + 2];
if (($top + $middle + $bottom) > $sum) {
$sum = $top + $middle + $bottom;
}
}
}
return $sum;
}
Reference
이 문제에 관하여(2D 어레이 - DS 코드 문제 해결), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/rezende79/2d-array-ds-code-challenge-solved-24f4텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)