c# 5

[C#] VS Code 개발환경 설정하기

1. Extensions Market에서 C# Extension을 설치 2. dotnet 패키지 설치 * 저는 homebrew로 설치했어요. $ brew install dotnet 3. .NET Core 설치 https://dotnet.microsoft.com/en-us/download 3. dotnet new 를 통해 새로운 C# 프로젝트 생성 뒤에 -o 옵션을 붙이면 프로젝트 이름대로 생성된다. dotnet new console -o TestProject C# 연습을 위해 콘솔 출력하고 놀거라서 console이라고 템플릿 유형을 지정했는데, 아래처럼 프로젝트 유형에따라 템플릿 Short Name 넘겨서 설정할 수 있다. Templates Short Name Language Tags ----------..

프로그래밍/C# 2022.02.11

Merge Sort Algorithm (병합 정렬 알고리즘)

앞서 살펴본 Selection Sort(선택 정렬)와 Insertion Sort(삽입 정렬)은입력 리스트의 크기가 크면 클수록 더욱 비 효율적인 단점을 갖고 있다. 그래서 조금 더 나은 정렬법인 Merge Sort를 배워보도록 하겠다.Divide and Conquer Merge Sort에는 Divide and Conquer(나눠서 정복하기)라는 재귀에 기반한 알고리즘 양식이 적용된다.이것은 문제를 원래의 문제와 비슷한 형식으로 자그마하게 쪼개서작은 문제들을 재귀적으로 풀어내는 것이다. Divide(나누기) : 큰 문제를 같은 방식으로 풀 수 있는 작은 문제로 쪼갠다.Conquer(정복) : 작은 문제들을 재귀적으로 풀어낸다.Combine(합치기) : 작은 문제들에서 얻어낸 해결책을 원래의 큰 문제에 적용..

Insertion Sort Algorithm (삽입 정렬 알고리즘)

Insertion Sort(삽입정렬)의 방식은 이렇게 이해하면 쉽다. 내가 트럼프카드를 패로 쥐고 있고, 그게 오름차순으로 정렬되있다고 가정하자. 그러고 새 카드를 뽑으면 정렬된 패의 정렬순서에 맞게 새 카드를 어딘가에 삽입해야한다. 그것이 삽입정렬이다. 도식화 한 Insertion Sort리스트 그림을 통해 삽입정렬의 작동원리를 보자! 0~5번째 위치까지 정렬된 리스트 6번째 위치에 5라는 숫자가 들어왔다. 마지막 위치에 있는 5를 key라고 하자. key는 왼쪽으로 움직이면서 어디에 들어갈지 본다. key가 왼쪽으로 움직이면서 앞자리와 숫자 대소비교를 하게된다. 5번째 자리로간 key는 리스트의 5번째 원소인 13과 값을 비교한다. 이때 key > 13 이므로 5번째 원소의 값 13은 뒤로 밀려난다...

Binary Search Algorithm (이진 검색 알고리즘)

Binary Search는 순서대로 정렬된(sorted) 리스트에서 아이템을 찾는데 유용한 알고리즘이다.Binary Search는 아이템이 있는 범위까지 계속해서 반으로 나누면서 찾는다.1부터 10까지 수 중 아무거나 하나를 생각해서 맞추는 게임의 알고리즘과 동일하다. Binary Search의 의사 코드는 다음과 같다. 1. min은 범위 중 가장 낮은 것, max는 범위 중 가장 높은 것이다.min = 1, max = n2. min과 max의 평균값을 구해서 반내림을 한다. 이게 추정치다. (정수가 되도록)3. 만약 숫자를 맞췄다면, stop!4. 만약 추정치가 너무 낮다면 min을 그 추정치보다 높게 변경.5. 만약 추정치가 너무 높다면 max를 그 추..