학습
시험

네 방향 인접 합 1

난이도
BEGINNER

문제 설명

이차원 정수 배열에서 특정 위치에서 상, 하, 좌, 우 네 방향에 존재하는 이웃 원소를 모두 더한 값을 구하려고 합니다. 만약 이웃이 배열의 경계를 넘어간다면 해당 방향은 무시하고 배열 범위 내에 있는 이웃 원소의 합만 계산합니다.
이차원 정수 배열 grid와 행 번호 r, 열 번호 c가 주어질 때 grid의 (r, c)위치 기준으로 상·하·좌·우 이웃 중 배열의 범위를 넘어가지 않는 원소들의 합을 반환하는 solution 함수를 작성하시오.

예를 들어, 아래와 같이 3×3 배열이 있다고 할 때:

1 2 3
4 5 6
7 8 9

위 배열에서 (1, 1) 위치의 네 방향 이웃은 (0, 1), (2, 1), (1, 0), (1, 2) 위치에 있는 2, 8, 4, 6이며 총합은 2+8+4+6=202+8+4+6=20입니다.
또한 (2, 2) 위치에서 네 방향 이웃은 (2, 1), (1, 2) 위치에 있는 6, 8이며 총합은 6+8=146+8=14입니다.


제한 사항

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

예시 테스트케이스 설명

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

1번 테스트케이스 설명

  • (1,1) 위치의 네 방향 이웃은 (0,1)=2, (2,1)=8, (1,0)=4, (1,2)=6이므로 이들의 합 2+8+4+6=202+8+4+6=20을 반환합니다.

2번 테스트케이스 설명

  • (0,0) 위치의 네 방향 이웃은 (1,0)=2, (0,1)=1이며, 그 이외 방향은 범위를 벗어나므로 2+1=32+1=3을 반환합니다.

3번 테스트케이스 설명

  • (2,2) 위치의 네 방향 이웃은 (1,2)=2, (3,2)=2, (2,1)=6이며, 그 이외 방향은 범위를 벗어나므로 2+2+6=102+2+6=10을 반환합니다.