Jagged Arrays
Coddy C# 여정의 논리 및 흐름 섹션에 포함된 레슨 — 66개 중 5번째.
C#의 가변 배열은 배열의 배열이며, 각 내부 배열이 서로 다른 길이를 가질 수 있습니다.
3개의 행을 가진 가변 배열을 생성하세요:
int[][] jaggedArray = new int[3][];각 행을 서로 다른 길이로 초기화:
jaggedArray[0] = new int[4]; // First row has 4 elements
jaggedArray[1] = new int[2]; // Second row has 2 elements
jaggedArray[2] = new int[5]; // Third row has 5 elements요소에 값을 할당:
jaggedArray[0][0] = 10;
jaggedArray[1][1] = 20;
jaggedArray[2][3] = 30;값으로 가변 배열 초기화:
int[][] numbers = new int[][]
{
new int[] {1, 2, 3, 4},
new int[] {5, 6},
new int[] {7, 8, 9, 10, 11}
};행의 수를 가져오기:
int rows = jaggedArray.Length; // Returns 3특정 행의 길이를 가져오기:
int elementsInRow1 = jaggedArray[1].Length; // Returns 2챌린지
중급createTriangle이라는 메서드를 생성하세요. 이 메서드는:
- 양의 정수
size를 매개변수로 받습니다 - 삼각형 패턴을 나타내는 가변 배열(jagged array)을 반환합니다
- 각 행은 이전 행보다 한 개 더 많은 요소를 가져야 합니다
- 각 요소는 행 인덱스와 열 인덱스의 합과 같아야 합니다
예를 들어, size = 4일 때 가변 배열은 다음과 같아야 합니다:
[0]
[1, 2]
[2, 3, 4]
[3, 4, 5, 6]치트 시트
가변 배열은 각 내부 배열이 다른 길이를 가질 수 있는 배열의 배열입니다.
가변 배열 생성:
int[][] jaggedArray = new int[3][];다른 길이로 행 초기화:
jaggedArray[0] = new int[4]; // 첫 번째 행은 4개의 요소를 가짐
jaggedArray[1] = new int[2]; // 두 번째 행은 2개의 요소를 가짐
jaggedArray[2] = new int[5]; // 세 번째 행은 5개의 요소를 가짐요소에 값 할당:
jaggedArray[0][0] = 10;
jaggedArray[1][1] = 20;
jaggedArray[2][3] = 30;값으로 직접 초기화:
int[][] numbers = new int[][]
{
new int[] {1, 2, 3, 4},
new int[] {5, 6},
new int[] {7, 8, 9, 10, 11}
};배열 차원 가져오기:
int rows = jaggedArray.Length; // 행의 수
int elementsInRow1 = jaggedArray[1].Length; // 특정 행의 길이직접 해보기
public class CreateTriangle
{
// CreateTriangle 메서드를 구현하세요
public static int[][] createTriangle(int size)
{
// 여기에 코드를 작성하세요
}
}이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
논리 및 흐름의 모든 레슨
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