본문 바로가기
반응형

개발56

선택정렬(Selection Sort)란 무엇일까? 선택정렬 제자리 정렬 알고리즘중 하나이다. O(n2)만큼의 시간이 걸린다. 메모리가 제한적인 경우 사용시 성능 상의 이점이 있다. 선택정렬은 다음과 같은 순서로 이루어집니다. 1. 첫번째 인덱스에 들어갈 리스트중 최소값을 찾는다. 2. 찾은 최소값과 첫번째 인덱스 값을 교체한다. 3. 두번째 인덱스로 넘어간다. 4. 1~2방법을 반복하며 마지막인덱스까지 진행한다. 이해를 돕는 영상 [C++] void selectionSort(int *list, const int n) { int i, j, indexMin, temp; for (i = 0; i < n - 1; i++) { indexMin = i; for (j = i + 1; j < n; j++) { if (list[j] < list[indexMin]) { .. 2020. 12. 29.
전위,중위,후위 표기법 1. 전위 표기법(Prefix) 연산자를 피연산자 앞에 표시하는 방법이다. "폴란드 표기법"이라고도 한다. ex)+-/ABCD [참고] 폴란드 표기법 - 위키백과, 우리 모두의 백과사전 위키백과, 우리 모두의 백과사전. 이 문서는 수학과 컴퓨터 과학의 접두사 표기법에 관한 것입니다. 유사하게 명명된 논리에 대해서는 우카시에비치 논리 문서를 참조하십시오. 폴란드 표기법(P ko.wikipedia.org 2. 중위 표기법(Infix) 연산자를 두 피연산자 사이에 표기하는 방법으로 우기가 가장 많이 사용하는 표기법이다. ex) A+B-C/D 3. 후위 표기법(Postfix) 피연산자를 앞에 표시하고 연산자를 나중에 표시하는 방법이다. "역 폴란드 표기법(RPN, reverse Polish notation)" .. 2020. 12. 29.
[C#]Math.Round 반올림 함수 이슈 c# Math.Round 소수점 이하를 반올림 합니다. 가장 가까운 정수로 반올림 문제점 0.5 일때 가장 가까운 짝수 정수로 리턴 합니다. ex) 11.5 는 12로 반올림이되고, 12.5는 12로 반올림 됩니다. 일반적으로 우리는 0.5일때 반올림을 하면 +0.5를 합니다. 위의 문제를 해결하는 방법으로는 MidpointRounding 을 AwayFromZero로 지정하면 됩니다. [함수원형] public static double Round (double value, MidpointRounding mode); [사용 예시] Math.Round(2.5f,MidpointRounding.AwayFromZero); [참조] https://docs.microsoft.com/ko-kr/dotnet/api/sys.. 2020. 12. 24.
[C#] 다차원 배열 다차원 배열의 초기화 int[,] array1 = { { 2, 5, 3 }, { 4, 4, 1 }, { 1, 7, 3 } }; //또는 int[,] array2 = new int[,]{ { 2, 5, 3 }, { 4, 4, 1 }, { 1, 7, 3 } }; 다차원 배열의 접근 int item1 = array[0,0]; int item2 = array[0,1]; 다차원 배열의 길이 //Length = 행*열 = 배열안에 모든 값의 개수 int totalLength = array.Length; //GetLength(int dimension) = 해당 차원에 배열 길이를 반환 //주로 사용하게될 함수 int Length = array.GetLength(0); 2020. 12. 22.
스택을 이용하여 큐 만들기 template class StackToQueue { stack inStack; stack outStack; public: void Enqueue(T data) { inStack.push(data); } T Dequeue() { if (isEmpty()) return 0; T data; while (!inStack.empty()) { data = inStack.top(); inStack.pop(); outStack.push(data); } data = outStack.top(); outStack.pop(); while (!outStack.empty()) { T temp = outStack.top(); outStack.pop(); inStack.push(temp); } return data; } bool .. 2020. 12. 8.
큐를 이용하여 스택만들기 template class QueueToStack { queue inQueue; queue outQueue; public: void Push(T data) { inQueue.push(data); } T Pop() { if (IsEmpty()) return 0; while (inQueue.size() > 1) { T temp = inQueue.front(); inQueue.pop(); outQueue.push(temp); } T data = inQueue.front(); inQueue.pop(); while (!outQueue.empty()) { T temp = outQueue.front(); outQueue.pop(); inQueue.push(temp); } return data; } bool IsEmp.. 2020. 12. 8.
C++ 연산자의 우선순위표 C++ 연산자의 우선순위표 우선순위 연산자 설명 결합 방향 1 :: 범위 지정 연산자 - 2 ++ 후위 증가 연산자 왼쪽에서 오른쪽으로 -- 후위 감소 연산자 왼쪽에서 오른쪽으로 () 함수 호출 왼쪽에서 오른쪽으로 [] 첨자 연산자 왼쪽에서 오른쪽으로 . 멤버 연산자 왼쪽에서 오른쪽으로 -> 멤버 접근 연산자 왼쪽에서 오른쪽으로 typeid 타입 인식 왼쪽에서 오른쪽으로 const_cast 상수 타입 변환 왼쪽에서 오른쪽으로 dynamic_cast 동적 타입 변환 왼쪽에서 오른쪽으로 reinterpret_cast 재해석 타입 변환 왼쪽에서 오른쪽으로 static_cast 정적 타입 변환 왼쪽에서 오른쪽으로 3 ! 논리 NOT 연산자 오른쪽에서 왼쪽으로 ~ 비트 NOT 연산자 오른쪽에서 왼쪽으로 + 양의 .. 2020. 11. 19.
구독중인 게임 개발 유튜버 1.retr0 www.youtube.com/channel/UCRWq4MPqifkmT2GyL2d2ZAQ 레트로 retr0 레트로(retr0)는 I_Jemin이 창설한, 유튜브에서 가장 간결하고 직관적인 무료 게임 프로그래밍 튜토리얼을 제작하고 업로드 하는 채널입니다. 또한 해외 개발자들과 협업하여 커뮤니티 자막을 사용 www.youtube.com 2.골드메탈 www.youtube.com/channel/UCw_N-Q_eYJo-IJFbNkhiYDA 골드메탈 게임 개발 & 그림 그리기 & 게임 플레이 각종 컨텐츠를 방송하는 스트리머 골드메탈 채널입니다. 주 컨텐츠는 게임 개발이며 유니티 엔진을 기반으로 컨텐츠를 진행합니다. - 2019.03.15 구독자 5천 www.youtube.com 3.설우개의 Game D.. 2020. 11. 19.
C# 연산자 종류 연산자 타입 연산자 예제 산술 연산자 +, -, *, /, % int a = (x + y - z) * (b / c) % d; 할당 연산자 =, +=, -=, *=, /=, %= int a = 100; sum += a; [설명] sum += a 는 sum = sum + a 를 축약한 표현이다. 증감 연산자 ++, -- int i = 1; i++; [설명] i++ 는 i = i + 1 를 축약한 표현이다. 논리 연산자 && (And), || (Or), ! (Not) if ((a > 1 && b =, , 2020. 11. 19.
코딩 잘 하는 법(코딩 표기법) 코드를 작성할 때 변수나 함수명을 지을때 다양한 방법이 있는데, 그 방법들에 대해 알아보자. 1. 카멜 표기법(Camel Case) private int maxCount = 0; private bool isMax = false; private string userName = "user"; 이렇게 두 단어 이상을 연달아 사용할때 이어지는 첫 단어는 대문자로 표기하는 방식이다. max+count = maxCount is + max = isMax user+name = userName; 2. 파스칼 표기법(Pascal Case) private int MaxCount = 0; private bool IsMax = false; private string UserName = "user"; public int GetM.. 2020. 11. 11.
Unity Asset - Bolt 설치하기 안녕하세요. 유니티 에셋 볼트에 대해 다뤄 보겠습니다. 볼트는 유니티용 비주얼 스크립팅 에셋입니다. 볼트를 사용하면 코드를 직접 작성하지 않아도 유니티 프로젝트의 로직을 만들수 있습니다. 볼트는 언리얼의 블루프린트같은 시각적 그래프가 있어서 프로그래머, 기획자, 디자이너 모두 로직을 설계할 수 있습니다. 볼트는 2020년 7월 22일 무료화 선언을 했습니다. 현재는 유니티 에셋 스토어에서 무료로 받아볼 수 있습니다. assetstore.unity.com/packages/tools/visual-scripting/bolt-163802?_ga=2.225699167.45210945.1603376352-1170668531.1559967765 Bolt | 비주얼 스크립팅 | Unity Asset Store Get .. 2020. 10. 23.
[C#]URI 문자열을 이스케이프된 표현으로 변환합니다. Uri.EscapeUriString(String) URI 문자열을 이스케이프된 표현으로 변환합니다. [함수원형] public static string EscapeUriString(string stringToEscape); [Parameters] 이름 타입 설명 stringToEscape string 이스케이프할 문자열입니다. [출처]docs.microsoft.com/ko-kr/dotnet/api/system.uri.escapeuristring?view=netcore-3.1 프로젝트를 하다가 파일 다운로드가 안되는 이슈가 있었다. iOS 기기에서 특정 파일이 다운로드가 되지 않았고, 해당 파일의 이름이 한글로 되어있었다. 한글 파일을 이스케이프 해보니 string이 모두 깨져버렸다. 이를 해결하기 위해 한.. 2020. 10. 8.
728x90