728x90

C#/코드 9

C# 연결 리스트 만들기

namespace Algorithm { class MyLinkedListNode { public T Data; // 참조, 주소 값을 저장 public MyLinkedListNode Next; // 다음 값 public MyLinkedListNode Prev; // 이전 값 } class MyLinkedList { public MyLinkedListNode Head = null; // 첫번째 방 public MyLinkedListNode Tail = null; // 마지막 방 public int Count = 0; // 총 방의 개수 public MyLinkedListNode AddLast(T data) { MyLinkedListNode newRoom = new MyLinkedListNode(); new..

C#/코드 2021.09.14

C# 동적 배열 만들기

namespace Algorithm { class MyList { const int DEFAULT_SIZE = 1; T[] _data = new T[DEFAULT_SIZE]; public int Count; // 실제로 사용 중인 데이터 개수 public int Capacity // 예약된 데이터 개수 { get { return _data.Length; } } // O(1) 예외 케이스 : 이사 비용은 무시한다. public void Add(T item) { // 1. 공간이 충분히 남아 있는지 확인 if (Count >= Capacity) { // 공간을 다시 늘려서 확보 T[] newArray = new T[Count * 2]; for (int i = 0; i < Count; i++) { newArr..

C#/코드 2021.09.09

C# 다차원 배열을 이용한 코드

// tiles 2차원 배열 int[,] tiles = { { 1, 1, 1, 1, 1 }, { 1, 0, 0, 0, 1 }, { 1, 0, 0, 0, 1 }, { 1, 0, 0, 0, 1 }, { 1, 1, 1, 1, 1 } }; public void Render() { // 기본 컬러를 저장 ConsoleColor defaultColor = Console.ForegroundColor; // GetLength로 2차원 배열의 n번째 배열을 가져올 수 있다. for (int y = 0; y < tiles.GetLength(1); y++) { for (int x = 0; x < tiles.GetLength(0); x++) { // tiles 배열의 [y번째 배열, x번째]의 값이 1이면 붉은색으로 출력 i..

C#/코드 2021.09.01

C# int 배열 관련 코드

제일 높은 값을 구하는 코드 static int getHighScore(int[] scores) { foreach문 이용 int highScore = 0; foreach(int score in scores) { if (score > highScore) { highScore = score; } } Max 함수 이용 highScore = scores.Max(); return 0; } 평균값 구하는 코드 static int getAverageScore(int[] scores) { 나누려는 수가 0이면 크래시가 일어나기 때문에 안전장치를 설정 if (scores.Length == 0) { return 0; } int sumScore = 0; int average = 0; foreach 이용 foreach (in..

C#/코드 2021.09.01

C# 가위바위보 코드

enum RPS { SCISSORS, ROCK, PAPER } // main 함수 바깥 쪽에 열거형으로 가위바위보를 지정 // main 함수 안 쪽에 가위바위보 코드를 작성 int playerChoice = Convert.ToInt32(Console.ReadLine()); // 유저의 입력을 받아 정수로 변환 switch(playerChoice) { case (int)RPS.SCISSORS: Console.WriteLine("당신의 선택은 가위입니다."); break; case (int)RPS.ROCK: Console.WriteLine("당신의 선택은 바위입니다."); break; case (int)RPS.PAPER: Console.WriteLine("당신의 선택은 보입니다."); break; } // ..

C#/코드 2021.08.12
728x90