분류 전체보기
-
JUNGOL...88일지 2021. 7. 9. 11:52
Beginner_Coder/자료처리/후위표기법1 문제 우리가 일반적으로 사용하는 계산방식은 중위표기법(Infix Notation)이라 하는데, A + B와 같이 피연산자 'A'와 'B' 중간에 연산자 '+'가 위치하여 이렇게 불린다. 컴퓨터공학에서는 후위표기법 (Postfix Notation)을 많이 사용하는데, 후위표기법은 A B + 와 같이 피연산자 'A'와 'B'의 뒤에 연산자 '+'가 위치한 표기법을 말한다. 중위표기법에서 (5+8)*2 와 같은 수식은 '*'가 '+'보다 연산자 우선순위가 높으므로 앞의 수식 에서처럼 5+8 을 먼저 계산해야한다면 괄호를 사용해야한다. 하지만 수식 (5+8)*2 을 후위표기법으로 바꾸면 5 8 + 2 * 와 같이 되어, 후위표기법은 괄호가 없이도 연산자의 우선 순..
-
병합 정렬 구현 및 테스트프로그래밍 기초/알고리즘 2021. 7. 9. 11:44
병합 정렬 입력 배열을 반으로 나누고 나눈 배열을 하나의 배열로 병합하여 정렬을 진행한다. 병합 정렬 알고리즘 배열의 크기를 반으로 나누는 과정을 각각의 크기가 1이 될 때까지 반복하고 이후 각각의 배열을 병합할 때 정렬을 진행한다. 병합 정렬 알고리즘 MergeSort(A[], p, r) { if (p < r) then { q ← └(p + r) / 2┘ MergeSort(A, p, q) MergeSort(A, q + 1, r) Merge(A, p, q, r) } } Merge(A[], p, q, r) { 정렬되어 있는 두 배열 A[p...q]와 A[q + 1...r]을 합쳐 정렬 된 하나의 배열 A[p...r]을 만든다. } ※ 병합 정렬 시 배열을 둘로 나누는 것을 반복할 때 logn, 배열을 다시..
-
JUNGOL...87일지 2021. 7. 8. 12:40
Beginner_Coder/자료처리/삽입정렬 횟수 세기 문제 임의의 서로 같지 않은 수로 이루어진 수열 A를 삽입정렬을 하고자 한다. 만약 배열 A에 20, 40, 30, 10 이 들어갈 경우 다음과 같이 삽입정렬이 이루어진다. i = 1 일 때 20, 40, 30, 10 이동수 : 0 i = 2 일 때 20, 40, 30, 10 이동수 : 0 i = 3 일 때 20, 30, 40, 10 이동수 : 1 (40이 움직이고 30이 들어감) i = 4 일 때 10, 20, 30, 40 이동수 : 3 (20, 30, 40 이 움직이고 10이 들어감) 총 4번의 밀어내기를 통하여 삽입정렬이 완료된다. 임의의 수열 A가 주어질 경우, 수열의 숫자가 얼마나 이동하는지 출력하는 프로그램을 작성하시오. 입력 형식 처음 ..
-
알고리즘...17일지 2021. 7. 8. 12:33
병합 정렬 구현 배열 arr과 배열의 길이 n을 입력으로 받는 함수를 구현한다. MergeSort.hpp #pragma once #include "../Common.hpp" void MergeSort(int arr[], int tempArr[], int p, int r, bool printData = false, int n = 0); void Merge(int arr[], int tempArr[], int p, int q, int r); /// /// 주어진 배열을 정렬한다. /// /// 정렬을 진행할 배열 /// 배열의 길이 /// 중간 결과 출력 여부 void MergeSort(int arr[], int n, bool printData = false) { if (printData) { Common:..
-
JUNGOL...86일지 2021. 7. 7. 12:14
Beginner_Coder/자료처리/버블정렬 문제 거품 정렬(Bubble sort)이란? 두 인접한 원소를 검사하여 자리를 바꾸는 과정을 반복하며 정렬하는 방법이다. 다음과 같은 과정으로 정렬을 한다. 1. 첫번째 값과 두번째 값을 비교하여 첫번째 값이 크면 자리를 바꾼다. 2. 두번째 값과 세번째 값을 비교하여 두번째 값이 크면 자리를 바꾼다. 3. 위와 같이 반복하여 N-1번째 값과 N번째 값을 비교하여 N-1번째 값이 크면 자리를 바꾼다. 이 단계가 끝나면 N번째에 가장 큰 수가 자리하게 된다. (한단계완료) 4. N번째를 제외하고 1~3을 반복하면 N-1번째에 두 번째로 큰수가 자리한다. (2단계 완료) 5. 위와같은 작업을 N-1번 반복하면 모든 데이터가 순서대로 정렬된다. 예를 들어 수열 {6..
-
알고리즘...16일지 2021. 7. 7. 12:02
병합 정렬 입력 배열을 반으로 나누고 나눈 배열을 하나의 배열로 병합하여 정렬을 진행한다. 병합 정렬 알고리즘 배열의 크기를 반으로 나누는 과정을 각각의 크기가 1이 될 때까지 반복하고 이후 각각의 배열을 병합할 때 정렬을 진행한다. 병합 정렬 알고리즘 MergeSort(A[], p, r) { if (p < r) then { q ← └(p + r) / 2┘ MergeSort(A, p, q) MergeSort(A, q + 1, r) Merge(A, p, q, r) } } Merge(A[], p, q, r) { 정렬되어 있는 두 배열 A[p...q]와 A[q + 1...r]을 합쳐 정렬 된 하나의 배열 A[p...r]을 만든다. } 더보기 참고문헌 한빛아카데미.문병로.(2016.07.24).쉽게 배우는 알고리즘
-
[Particle System] 유니티 2017 -> 2018 업그레이드 시 변경 사항게임 엔진/Unity 2021. 7. 5. 21:22
유니티 업그레이드 시 파티클 시스템 변경사항 파티클 시스템 버그로 인해 2017에서 생성된 파티클 이펙트는 2018에서 정상적으로 보이지 않을 수 있다. 유니티에서 공개한 버그는 다음과 같다. 메시(Mesh) Offset 공식 변경(기존: size * size * pivot, 변경: size * pivot) 빌보드(Billboard) 비균등 스케일일 때 스케일의 y축과 z축이 반전됨 비균등 스케일일 때 회전 후 스케일링 적용됨 윈드존(Wind Zone) 윈드 존이 파티클에 영향 주는 방향 변경(기존: 나무와 반대 방향, 변경: 나무와 동일한 방향) 유니티 파티클 변경 사항 처리 참고 코드 유니티 업그레이드를 위해 사용한 코드이며 모든 버그를 수정하지는 못했으나 대부분의 버그는 수정하여 정상적으로 출력되도..
-
JUNGOL...85일지 2021. 7. 5. 11:35
Beginner_Coder/자료처리/삽입정렬 문제 삽입정렬(Insertion sort)은 자료 배열의 모든 요소를 앞에서부터 차례대로 이미 정렬된 배열 부분과 비교하여, 자신의 위치를 찾아 삽입하는 방법이다. 수열이 {5 4 3 7 6}이 있을 경우의 삽입정렬 과정은 다음과 같다. 처음상태에서 처음 값 5 앞에 아무것도 없으므로 5는 이미 정렬된 상태가 되므로, 이후 4부터 정렬과정을 살펴보자. ※ 3단계의 경우 7은 앞의 "3 4 5"보다 크므로 제자리에 삽입된다. n개의 수열이 주어지면 위와 같은 방법으로 정렬하는 과정 각 단계를 출력하는 프로그램을 작성하시오. 입력 형식 첫줄에 수열의 길이 N(4≤N≤100)이 주어진다. 두 번째 줄에 N개의 0이상 100이하의 정수가 주어진다. 출력 형식 처음 상..