[Hackerrank] 2D Array – DS

2중 배열안에서 모래시계 모양의 패턴을 찾아 

해당 좌표의 값을 모두 더했을 때 가장 큰 값을 찾는 문제

음수 비교가 필요한 경우가 있으므로 결과값 변수를 int.MinValue로 초기화 한다. 

static int hourglassSum(int[][] arr) {
        int result = int.MinValue;
        int row = arr.Length;
        for (int i = 0; i < row -2; i++)
        {
            int col = arr[i].Length;
            for (int j = 0; j < col -2; j++)
            {                            
                int sum = arr[i][j] + arr[i][j + 1] + arr[i][j + 2];
                sum += arr[i + 1][j + 1];
                sum += (arr[i+2][j] + arr[i+2][j + 1] + arr[i+2][j + 2]);
                
                if (result < sum) result = sum;
            }
        }

        return result;

    }

댓글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다

This site uses Akismet to reduce spam. Learn how your comment data is processed.