Nested Loops with 2D Arrays
Coddy C# 여정의 논리 및 흐름 섹션에 포함된 레슨 — 66개 중 4번째.
C#에서 2D 배열(가변 배열)을 사용할 때, 각 행과 각 열을 반복하기 위해 중첩 루프를 자주 사용하며, 이를 통해 배열의 모든 요소에 접근하거나 수정할 수 있습니다.
C#에서 2D 배열에 대한 중첩 루프의 전형적인 구조는 다음과 같습니다:
for (int i = 0; i < array.Length; i++) {
// 외부 루프는 행을 반복합니다
for (int j = 0; j < array[i].Length; j++) {
// 내부 루프는 열을 반복합니다
// array[i][j]에 접근하거나 수정합니다
}
}외부 루프는 행을 반복하고, 내부 루프는 각 행의 열을 반복합니다. 이렇게 하면 array[i][j]를 사용하여 2D 배열의 각 요소에 접근할 수 있습니다.
챌린지
쉬움printMatrix라는 이름의 메서드를 생성하세요. 이 메서드는 정수형 2차원 배열(jagged array)을 인수로 받아 배열의 요소를 행렬 형식으로 출력합니다. 배열의 행과 열을 반복하기 위해 중첩 루프를 사용하세요.각 행의 마지막 요소를 포함하여 각 요소 뒤에 공백을 출력한 후, 각 행 후에 개행을 출력하세요. 예를 들어, 행
[1, 2, 3]의 경우 출력은 1 2 3 (끝에 공백 포함), 이어서 개행이어야 합니다.치트 시트
C#에서 2D 배열(가변 배열)을 반복하기 위해 중첩 루프를 사용하세요:
for (int i = 0; i < array.Length; i++) {
// Outer loop iterates over rows
for (int j = 0; j < array[i].Length; j++) {
// Inner loop iterates over columns
// Access or modify array[i][j]
}
}외부 루프는 array.Length를 사용하여 행을 반복하고, 내부 루프는 array[i].Length를 사용하여 열을 반복합니다. 요소에 접근하려면 array[i][j]를 사용하세요.
직접 해보기
// 클래스 내부에만 코드를 작성하세요. Main()이나 이 클래스 외부의 코드는 작성하지 마세요.
using System;
class PrintMatrix
{
public static void printMatrix(int[][] matrix)
{
// 여기에 코드를 작성하세요
}
}이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
논리 및 흐름의 모든 레슨
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