분류 전체보기107 Part2. C# 기초 다지기(8. 버블 정렬) 버블 정렬(Bubble Sort) 버블 정렬은 두 개의 인접한 원소를 비교하여 작은 값을 앞쪽으로 큰 값을 뒤쪽으로 교환하는 정렬 알고리즘입니다. 이 과정을 반복하면서 순차적으로 정렬을 수행하며, 정렬이 완료될 때까지 반복합니다. 다음은 버블 정렬의 구현 예제입니다. using System; namespace BubbleSort_exam { internal class Program { static void Main(string[] args) { int[] arr = { 3, 2, 4, 1, 5 }; BubbleSortFunc(arr); for (int i = 0; i < arr.Length; i++) { Console.Write(arr[i] + " "); } } static void BubbleSortF.. 2023. 2. 22. [Design Pattern] Factory Method Factory Method란? Factory Method는 객체 생성을 캡슐화하여 객체 생성 로직을 클래스의 하위 클래스 또는 인터페이스를 통해 책임을 이전하는 디자인 패턴입니다. 즉, 객체 생성을 호출하는 코드와 실제 객체 생성 로직을 구현하는 코드를 분리하여 유지보수성과 확장성을 개선하는 패턴입니다. 이 패턴에서는 객체를 생성하는 메서드를 인터페이스로 정의하고, 이를 구체적인 클래스에서 구현합니다. 이렇게 함으로써 객체 생성을 추상화하고, 객체 생성을 변경해야 할 경우 인터페이스를 수정하는 것으로 대체할 수 있습니다. Class Diagram(UML) 패턴에 대한 전체적인 구조와 관계를 파악하려면 Class Diagram을 살펴보는 게 좋습니다. Factory Method패턴에 대한 클래스다이어그램(.. 2023. 2. 22. [Design Pattern] 디자인 패턴 이란? 디자인 패턴이란? 소프트웨어 개발에서 디자인 패턴은 특정한 상황에서 자주 발생하는 문제를 해결하기 위해 솔루션을 제공하는 디자인의 재사용 가능한 템플릿입니다. 디자인 패턴은 소프트웨어 개발에서 많이 사용되는 문제를 다양한 관점에서 바라보며, 발견된 공통된 해결책이라고 할 수 있습니다. 디자인 패턴의 유형 디자인 패턴은 크게 3가지 유형으로 구분됩니다. 생성패턴(Creational Patterns) : 객체의 생성과 초기화를 다룹니다. 객체를 만드는 방법에 대한 패턴입니다. 대표적인 예로는 Factory Method, Abstract Factory, Singleton, Builder, Prototype 등이 있습니다. 구조패턴(Structural Patterns) : 객체와 클래스를 조합해 더 큰 구조를 .. 2023. 2. 21. C++ 기초(Raw String Literal) 이번 포스팅에서는 조금은 생소하지만 스트링을 사용함에 있어서 편리함을 제공해 주는 로 스트링 리터럴에 대해서 정리했습니다. 인용구 사용 문자열 안에 인용구 같은 또 다른 문자열을 넣고 싶어서 다음과 같이 작성한다면 바로 컴파일 에러가 발생할 것입니다. const char* str = "나폴레옹은 "1퍼센트의 가능성, 그것이 나의 길이다!"라는 명언을 남겼습니다."; 보통 위의 경우 이스케이프 시퀀스 \" 을 사용하여 다음과 같이 표현합니다. const char* str = "나폴레옹은 \"1퍼센트의 가능성, 그것이 나의 길이다!\"라는 명언을 남겼습니다."; 하지만 이스케이프 시퀀스를 사용하지 않고 다음과 같이 표현되는 로 스트링 리터럴을 사용하면 가독성을 높일 수 있습니다. 로 스트링 리터럴은 R"(문.. 2023. 2. 20. [C# WinForm] CheckBox 사용하기 이번 포스팅에서는 여러 개의 항목을 선택할 수 있도록 해주는 컨트롤인 CheckBox의 사용법에 대해서 정리했습니다. 폼 디자인하기 다음은 여러 스포츠 종목 중 좋아하는 종목을 선택하는 예제입니다. CheckBox, Label, Button 컨트롤을 다음과 같이 배치하여 폼을 디자인합니다. 각 컨트롤의 속성은 다음과 같습니다. 1. Form1 - text : "CheckBox 사용하기" 2. label1 - text : "좋아하는 스포츠를 모두 선택하세요" 3. checkBox1 - text : "축구" 4. checkBox2 - text : "야구" 5. checkBox3 - text : "배구" 6. checkBox4 - text : "농구" 7. checkBox5 - text : "골프" 8. bu.. 2023. 2. 20. 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. 이전 1 2 3 4 5 6 7 8 ··· 18 다음