본문 바로가기

Program Language/C#51

Part2. C# 기초 다지기(7. 선형탐색과 이진탐색) 이번 포스팅에서는 배열 내에 원하는 값을 찾고자 할 때, 대표적으로 사용할 수 있는 선형탐색과 이진탐색에 대해서 정리했습니다. 선형탐색 선형탐색은 배열의 모든 요소를 하나하나 키값(찾고자 하는 값)과 비교하여 같으면 그 값의 인덱스를 결과로 출력합니다. 데이터의 개수가 N일 때 시간복잡도가 O(N)인 알고리즘입니다. 데이터의 길이가 길면 비효율적이지만 그만큼 단순하고 구현하기 쉽습니다. 다음은 1~1000까지의 정수 20개를 랜덤으로 생성하고 정렬 전후 선형탐색을 사용하여 비교 횟수를 출력하는 예제입니다. using System; using System.Data; namespace LinearSearch_exam { internal class Program { static void Main(string[.. 2023. 2. 17.
Part2. C# 기초 다지기(6. 배열의 최대 / 최소 값 구하기) 이번 포스팅에서는 배열의 최소, 최대값을 구하는 방법에 대해서 정리했습니다. 랜덤 배열 생성 최소, 최대값을 구하기 위한 대상으로 임의의 배열을 생성합니다. 그리고 생성된 배열 값들을 확인하기 위해 콘솔화면에 두줄로 출력합니다. Random rnd = new Random(); int[] arr = new int[20]; for(int i = 0; i < arr.Length; i++) { arr[i] = rnd.Next(100); Console.Write("{0,3}{1}", arr[i], (i%10 == 9) ? "\n" : ""); } 위 코드를 실행하면 다음과 같이 두줄로 정렬된 실행 시점에서의 배열값들을 확인할 수 있습니다.(배열값은 랜덤이므로 실행할 때마다 매번 바뀝니다.) 67 46 87 12 .. 2023. 2. 15.
Part2. C# 기초 다지기(5. Random 클래스) 이번 포스팅에서는 C#에서 랜덤값을 만들어 주는 Random 클래스에 대해서 정리했습니다. Random 클래스 객체 생성 C#에서 랜덤 값을 만들려면 아래와 같이 Random 클래스의 객체를 생성해야 합니다. Random rand = new Random(); // 랜덤 객체 생성 Next() 메서드 Random 클래스는 int형, byte형, double형과 같이 타입별로 랜덤값을 생성시킬 수 있는 메서드들이 있습니다. 다음 예는 int형에 대한 랜덤값을 생성시키는 Next() 메서드의 사용법입니다. using System; using System.Data; namespace Random_exam { internal class Program { static void Main(string[] args) {.. 2023. 2. 14.
Part2. C# 기초 다지기(4. 배열의 정렬) 이번 포스팅에서는 배열의 요소들을 오름차순과 내림차순으로 정렬하고 사용하는 방법에 대해서 정리했습니다. 오름차순 정렬 배열을 정렬할 때 Array 클래스의 Sort() 메서드를 사용합니다. 이 메서드는 기본적으로 오름차순 정렬을 수행합니다. 다음은 한국어, 영어 알파벳을 오름차순으로 정렬하는 예제입니다. using System; using System.Data; namespace MultiArray_exam { internal class Program { static void Main(string[] args) { Console.WriteLine("======한국어 알파벳===="); string[] alphabat_KO = { "가", "라", "마", "나", "다", "바" }; PrintArray.. 2023. 2. 12.
Part2. C# 기초 다지기(3. 다차원 배열) 2차원 이상의 배열을 다차원 배열이라고 합니다. C#에는 다차원 배열을 표현하는 방법이 두 가지가 있습니다. 이번 포스팅에서는 다 차원 배열의 두 가지 구현 방법에 대해서 정리했습니다. 다차원 배열의 두가지 구현 방법 다차원 배열을 구현할 때 아래와 같이 두 가지 방법을 사용합니다. 대괄호 [] 안에 콤마(,) 사용하거나 대괄호만으로 원하는 차수를 표현 후 구현합니다. //첫번째 방법 - 고정 배열 자료형[,] 배열명 = new 자료형[y,x]; //2차원 배열 자료형[,,] 배열명 = new 자료형[z,y,x]; //3차원 배열 //두번째 방법 - 가변 배열 자료형[][] 배열명 = new 자료형[y][x]; //2차원 배열 자료형[][][] 배열명 = new 자료형[z][y][x]; //3차원 배열 .. 2023. 2. 8.
Part2. C# 기초 다지기(2. Array 클래스) C#에서 배열은 System.Array 클래스로 부터 상속됩니다. 따라서 Array클래스의 속성과 메서드를 사용할 수 있습니다. 이번 포스팅에서는 Array 클래스의 속성과 메서드에 대해서 정리했습니다. System.Array 클래스의 주요 속성과 메서드 아래 표에 System.Array 클래스의 주요 속성과 메서드를 정리했습니다. 속성 및 메서드 설명 속성 Length 배열 요소의 총 개수 Rank 배열의 차수(차원) 메서드 Array.Sort(a) a 배열을 오름차순으로 정렬 Array.Reverse(a) a 배열 요소들의 순서를 뒤집어줌 Array.Clear(a) a 배열을 초기화 Clone() 동일한 내용을 갖는 배열을 복사(얕은 복사) Array.Copy(a.n1, b.n2, len) a 배열의.. 2023. 2. 6.