Menu
Coddy logo textTech

2D 배열 요소에 접근하기

Coddy C# 여정의 논리 및 흐름 섹션에 포함된 레슨. 66개 중 3번째.

2D 배열의 요소에 액세스하려면 일반 배열과 비슷한 구문을 사용하지만, 두 개의 인덱스가 필요합니다. 하나는 행을 위한 것이고 다른 하나는 열을 위한 것입니다.

참고: C#에는 다차원 배열의 두 가지 종류가 있습니다. 직사각형 배열(int[,])과 가변 배열(int[][])입니다. 이 단원에서는 각 행이 자체 배열인 가변 배열을 다룹니다.

3개의 행과 4개의 열이 있는 가변 배열을 만드세요:

int[][] grid = new int[3][];
grid[0] = new int[4];
grid[1] = new int[4];
grid[2] = new int[4];

특정 위치(행 index 1, 열 index 2)에 값을 할당합니다:

grid[1][2] = 42;

특정 위치(행 index 0, 열 index 3)에서 값을 읽습니다:

int value = grid[0][3];

index는 0에서 시작하므로 행 index 0은 첫 번째 행이고 열 index 3은 네 번째 열입니다.

array 인덱스는 0부터 시작하므로 유효한 인덱스 범위는 다음과 같습니다:

  • 행: 인덱스 0부터 2까지 (3행 array의 경우: 첫 번째 행은 인덱스 0, 두 번째 행은 인덱스 1, 세 번째 행은 인덱스 2)
  • 열: 인덱스 0부터 3까지 (4열 array의 경우: 첫 번째 열은 인덱스 0, 두 번째 열은 인덱스 1 등)
이러한 범위를 벗어난 요소에 접근하려고 하면(예: grid[3][2]), IndexOutOfRangeException이 발생합니다.
challenge icon

챌린지

중급

세 개의 인수를 받는 getElement이라는 메서드를 작성하세요:

  1. 2차원 정수 배열(int[][] matrix)
  2. 행 인덱스(int row)
  3. 열 인덱스(int col)

인덱스가 유효하면 메서드는 지정된 위치의 element를 반환해야 합니다. 두 인덱스 중 하나라도 범위를 벗어나면 메서드는 -1을 반환해야 합니다.

직접 해보기

public class GetElement
{
    public static int getElement(int[][] array, int row, int col)
    {
        // 여기에 코드를 작성하세요
    }
}
quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

논리 및 흐름의 모든 레슨

직접 연습해 보세요: 온라인 C# 컴파일러