조건문의 이해 / 배열과 리스트
주요 학습 키워드
1. for문과 while문의 차이
for 문과 while문이 수행하는 내용은 같다.
개발자는 코드의 흐름에 따라 어떤 반복문을 사용할지 선택할 수 있다.
1) for 문은 반복 횟수가 직관적으로 보일 때 사용하며, 반복 조건을 한 눈에 확인할 수 있어 가독성이 좋다.
2) while 문은 반복 조건이 뚜렷하게 보일 때 사용하며, 반복 조건에 따라 조건문의 실행 횟수가 달라질 수 있고
for 문에 비해 더 간결한 코드를 만들 수 있다.
2. 배열
배열을 이용해 코드에서 동일한 데이터 유형을 갖는 요소를 한 번에 모아 관리할 수 있다.
< 1차원 배열 >
int[] array1 = new int[5]; // 크기가 5인 int형 배열 선언
string[] array2 = new string[3]; // 크기가 3인 string형 배열 선언
int num = 0;
// 배열 초기화
array1[0] = 1;
array1[1] = 2;
array1[2] = 3;
array1[3] = 4;
array1[4] = 5;
num = array1[0];
< 다차원 배열>
여러 개의 배열을 하나로 묶은 형태로, 행-열 구조를 가진 표 형태와 같다.
C#에서는 다차원 배열을 선언할 때 각 차원의 크기를 지정하여 생성한다.
// 2차원 배열의 선언과 초기화
int[,] array3 = new int[2, 3]; // 2행 3열의 int형 2차원 배열 선언
// 다차원 배열 초기화
array3[0, 0] = 1;
array3[0, 1] = 2;
array3[0, 2] = 3;
array3[1, 0] = 4;
array3[1, 1] = 5;
array3[1, 2] = 6;
// 선언과 함께 초기화
int[,] array2D = new int[3, 4] { { 1, 2, 3, 4 }, { 5, 6, 7, 8 }, { 9, 10, 11, 12 } };
3. 리스트
리스트는 가변적인 크기를 갖는 배열이다.
List 로 자료형을 지정한다.
List<int> numbers = new List<int>(); // 빈 리스트 생성
numbers.Add(1); // 리스트에 데이터 추가
numbers.Add(2);
numbers.Add(3);
numbers.Remove(2); // 리스트에서 데이터 삭제
foreach(int number in numbers) // 리스트 데이터 출력
{
Console.WriteLine(number);
}
* 리스트 사용 시 주의사항
리스트는 배열에 비해 유연한 데이터 구조를 구현할 수 있다.
하지만 무분별한 리스트 사용은 코드의 질을 떨어뜨릴 수 있는데,
리스트를 사용하면 메모리 사용량, 데이터 접근 시간, 코드 복잡도가 모두 증가하기 때문이다.
오늘의 회고
C# 문법 종합반 2주차 강의까지 마쳤다.
이론을 머리에 넣자마자 과제를 마주하니 정말 막막했다.
'숫자 맞히기' 게임은 본 강의에서 연습했기 때문에 수월하게 끝냈지만
'틱택토' 게임의 경우 Board를 직접 그려야하기도 했고, 승리 조건도 가로-세로-대각선으로 세 가지 구성해야 했다.
그리고 사용자 순서에 따라 X와 O가 번갈아가면서 나와야 했는데, if (player % 2 == 1) 을 생각해내기까지 오래 걸렸다.
팀원들에 따르면 3주차 강의부터 난이도가 확 올라간다던데
정신 붙들고 집중해야겠다.
내일도 힘내자고~