학습
시험

여덟 방향 평균 2

난이도
BEGINNER

문제 설명

n × m 크기의 이차원 정수 배열 grid와 행 번호 r, 열 번호 c가 주어졌을 때, (r, c) 위치를 중심으로 8방향(상·하·좌·우와 네 대각선) 이웃까지 고려하여 가중 평균 규칙에 따라 가중 평균값을 소수점 셋째 자리에서 반올림하여 둘째 자리까지 반환하는 solution 함수를 작성하시오.

가중 평균 규칙

  1. 현재 위치 (r, c)의 값에는 "가중치 3"을 곱합니다.
  2. 상·하·좌·우 네 방향의 값에는 각각 "가중치 2"를 곱합니다.
  3. 대각선 네 방향(좌상, 우상, 좌하, 우하)의 값에는 각각 "가중치 1"을 곱합니다.
  4. 배열의 경계를 넘어가는 칸은 무시하며, 배열 범위 내의값만 계산에 포함합니다.
  • 따라서 가중 평균 계산식은 아래와 같습니다. 3 × grid[r][c]  +  2× ∑상,하,좌,우grid[x][y]  +  1 × ∑네 대각선grid[x][y](사용된 가중치의 총합)\frac{3\,\times\,grid[r][c]\;+\;2\times\,\sum_{\text{상,하,좌,우}}grid[x][y]\;+\;1\,\times\,\sum_{\text{네 대각선}}grid[x][y]}{\text{(사용된 가중치의 총합)}}


제한 사항

  • grid는 n × m 크기의 이차원 정수 배열입니다.
    • n (grid의 행 개수)은 1 이상 1,000 이하의 자연수입니다.
    • m (grid의 열 개수)은 1 이상 1,000 이하의 자연수입니다.
  • grid의 각 원소는 -10,000 이상 10,000 이하의 정수입니다.
  • r은 0 이상 n - 1 이하의 정수입니다.
  • c는 0 이상 m - 1 이하의 정수입니다.

예시

아래와 같은 3 × 3 배열이 있을 때:

1 2 3
4 5 6
7 8 9

(0, 1) 위치를 기준으로

  • 현재 값 2 → 가중치 3
  • 상·하·좌·우 값 5, 1, 3 → 각각 가중치 2
  • 대각선 값 4, 6 → 각각 가중치 1

따라서 계산식에 따라 가중 평균값은 3 × 2  +  2× (5+1+3)  +  1 × (4+6)(사용된 가중치의 총합) = 3.0909...\frac{3\,\times\,2\;+\;2\times\,(5+1+3)\;+\;1\,\times\,(4+6)}{\text{(사용된 가중치의 총합)}}\,=\,3.0909... 이므로 소수점 아래 셋째 자리에서 반올림한 결과는 3.09입니다.


예시 테스트케이스 설명

테스트케이스 번호 grid r c return
1 [[1,2,3],[4,5,6],[7,8,9]] 0 1 3.09
2 [[10,20],[30,40]] 0 1 23.75
3 [[7,1,4],[6,5,3],[9,8,2]] 2 0 7.50

1번 테스트케이스 설명

  • (0, 1) 위치를 기준으로 아래 원소들이 가중 평균 계산에 사용됩니다.

    • 현재 값 2 → 가중치 3
    • 상·하·좌·우 값 5, 1, 3 → 각각 가중치 2
    • 대각선 값 4, 6 → 각각 가중치 1
  • 계산식에 따라 계산된 가중 평균값은 3 × 2  +  2× (5+1+3)  +  1 × (4+6)11 = 3.0909...\frac{3\,\times\,2\;+\;2\times\,(5+1+3)\;+\;1\,\times\,(4+6)}{11}\,=\,3.0909... 이므로 소수점 아래 셋째 자리에서 반올림한 결과 3.09를 반환합니다.

2번 테스트케이스 설명

  • (0, 1) 위치를 기준으로 아래 원소들이 가중 평균 계산에 사용됩니다.

    • 현재 값 20 → 가중치 3
    • 좌 값 10, 하 값 40 → 각각 가중치 2
    • 좌하 대각선 값 30 → 가중치 1
  • 계산식에 따라 계산된 가중 평균값은

    3 × 20  +  2× (10+40)  +  1 × 308 = 23.75\frac{3\,\times\,20\;+\;2\times\,(10+40)\;+\;1\,\times\,30} {8}\,=\,23.75

    이므로 소수점 아래 셋째 자리에서 반올림한 결과는 23.75를 반환합니다.

3번 테스트케이스 설명

  • (2, 0) 위치를 기준으로 아래 원소들이 가중 평균 계산에 사용됩니다.
    • 현재 값 9 → 가중치 3
    • 상 값 6, 우 값 8 → 각각 가중치 2
    • 우상 대각선 값 5 → 가중치 1
  • 계산식에 따라 계산된 가중 평균값은 3 × 9  +  2× (6+8)  +  1 × 58 = 7.50\frac{3\,\times\,9\;+\;2\times\,(6+8)\;+\;1\,\times\,5} {8}\,=\,7.50 이므로 소수점 아래 셋째 자리에서 반올림한 결과는 7.50을 반환합니다.