게임 개발 일지/내일배움캠프 TIL

조건문의 이해 / 배열과 리스트

빛하_ 2023. 11. 7. 21:09

 

 

 

주요 학습 키워드

 

 

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주차 강의부터 난이도가 확 올라간다던데 

정신 붙들고 집중해야겠다. 

내일도 힘내자고~