Accessing 2D Array Elements
Coddy C# 여정의 논리 및 흐름 섹션에 포함된 레슨 — 66개 중 3번째.
2차원 배열의 요소에 접근하는 것은 일반 배열과 유사한 구문을 사용하지만, 행과 열을 위한 두 개의 인덱스가 필요합니다.
참고: C#에는 두 가지 종류의 다차원 배열이 있습니다: 사각형 배열(int[,])과 가변 배열(int[][]). 이 레슨에서는 각 행이 자체 배열인 가변 배열에 대해 다룹니다.
3행 4열의 가변 배열(jagged array)을 생성합니다:
int[][] grid = new int[3][];
grid[0] = new int[4];
grid[1] = new int[4];
grid[2] = new int[4];특정 위치(행 인덱스 1, 열 인덱스 2)에 값을 할당합니다:
grid[1][2] = 42;특정 위치(행 인덱스 0, 열 인덱스 3)에서 값을 읽습니다:
int value = grid[0][3];인덱스는 0부터 시작하므로, 행 인덱스 0은 첫 번째 행이고 열 인덱스 3은 네 번째 열입니다.
배열 인덱스는 0부터 시작하므로, 유효한 인덱스 범위는 다음과 같습니다:
- 행(Rows): 인덱스 0부터 2까지 (3행 배열의 경우 — 첫 번째 행은 인덱스 0, 두 번째 행은 인덱스 1, 세 번째 행은 인덱스 2)
- 열(Columns): 인덱스 0부터 3까지 (4열 배열의 경우 — 첫 번째 열은 인덱스 0, 두 번째 열은 인덱스 1 등)
grid[3][2]와 같이), IndexOutOfRangeException이 발생합니다.챌린지
중급세 개의 인수를 받는 getElement라는 이름의 메서드를 작성하세요:
- 2차원 정수 배열 (
int[][] matrix) - 행 인덱스 (
int row) - 열 인덱스 (
int col)
인덱스가 유효한 경우, 메서드는 지정된 위치의 요소를 반환해야 합니다. 인덱스가 범위를 벗어나면 메서드는 -1을 반환해야 합니다.
직접 해보기
public class GetElement
{
public static int getElement(int[][] array, int row, int col)
{
// 여기에 코드를 작성하세요
}
}이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
논리 및 흐름의 모든 레슨
1Multi-dimensional Arrays
2D Arrays BasicsDeclaring and Initializing 2DAccessing 2D Array ElementsNested Loops with 2D ArraysJagged ArraysCommon Matrix OperationsRecap - Multi-dimensional4Flow Control Techniques
Early ReturnsGuard ClausesJump Statements (goto)Break and ContinueFlatten Nested Conditionals7Logical Operators Advanced
Short-Circuit EvaluationConditional Logical OperatorsOperator PrecedenceRecap - Advanced Operators2Advanced Decision Making
Multiple ConditionsComplex Boolean LogicIf vs. Switch ComparisonNested Switch StatementsRecap - Advanced Decisions5Exception Handling
Try-Catch BasicsException TypesMultiple Catch BlocksWorking with FilesFinally BlockUsing vs. Try-FinallyCustom ExceptionsRecap - Error Handling3Loop Enhancements
Loop PerformanceIterating ComplexEach Loop TypeRefactoring LoopsRecap - Optimized Loops6Null Handling
Null Reference BasicsNullable Value TypesNull Checking PatternsDefensive ProgrammingRecap - Null Safety