개발일지
[알고리즘/C++]버블정렬Bubble Sort
프로그래밍/C++ 2023. 6. 7. 15:10

버블정렬(Bubble Sort) 서로 이웃한 두 원소를 비교하여 큰 값을 비교하여 조건에 맞지 않는다면 자리를 교환하는 정렬이다. #동작 방식 버블 정렬은 반복적으로 배열을 탐색하면서 이웃한 요소를 비교하여 서로 교환한다. 탐색 과정에서 현재 요소가 다음 요소보다 크다면, 두 요소의 위치를 교환다. 이러한 교환 과정을 반복하여 배열의 가장 큰 요소가 맨 뒤로 이동하게 됩니다. 이 과정을 배열의 크기만큼 반복하면 전체 배열이 정렬된다. #코드 코드로 구현하면 이렇다. void bubbleSort(const int size, int arr[]) { for (int i = 0; i < size; i++) //(1) 배열에서 제외할 원소의 갯수 { for (int j = 1; j < 8 - i; j++) //(..

article thumbnail
[백준/C++] 10828번 큐
프로그래밍/C++ 2023. 5. 31. 00:40

10828번 큐 https://www.acmicpc.net/problem/10845 #큐 큐는 선입선출(FIFO, First-In-First-Out) 원칙에 따라 동작하는 추상적인 자료구조입니다. 큐는 일상 생활에서 줄을 서서 기다리는 것과 비슷한 개념으로 이해할 수 있습니다.큐에는 두 가지 주요 연산이 있습니다: "enqueue"와 "dequeue"입니다. Enqueue: 큐의 뒤쪽에 요소를 추가합니다. 이는 줄의 맨 뒤에 사람이 추가되는 것과 비슷합니다. Dequeue: 큐의 앞쪽에서 요소를 제거합니다. 줄의 맨 앞에 있는 사람이 서비스를 받고 나가는 것과 비슷합니다. 이렇게 큐에서는 항상 첫 번째로 들어온 요소가 먼저 처리되고, 마지막으로 들어온 요소가 가장 나중에 처리됩니다. #문제 #풀이 #in..

article thumbnail
[백준/C++] 10828번 스택
프로그래밍/C++ 2023. 5. 11. 23:32

10828번 스택 https://www.acmicpc.net/problem/10828 #스택 스택(Stack)은 프로그래밍에서 가장 기본적인 자료구조 중 하나로, 한쪽 끝에서만 데이터를 삽입(Push)하거나 삭제 (Pop)할 수 있는 구조로 데이터를 일시적으로 저장하기 위해 사용됩니다. 스택은 후입선출(Last-In-First-Out, LIFO) 방식으로 데이터를 관리하며, 가장 최근에 추가된 데이터가 가장 먼저 제거됩니다. 이러한 특성 때문에 스택은 프로그램에서 임시적으로 데이터를 저장하는 용도로 많이 사용됩니다. #Stack 1. stack 객체 생성 #include // stack헤더 stackmystack; top()int형 데이터를 저장하는 mystack 객체를 생성한다. 2. Stack에 데이..

article thumbnail
[Unity] Vector에 대하여
프로그래밍/UNITY 2023. 4. 28. 00:19

VECTOR Unity에서 오브젝트의 속도와 위치를 저장할 때 x, y, z 세 원소를 가지는 3D벡터인 vector3 타입을 사용했습니다. 오브젝트의 위치, 방향, 회전, 속도, 크기는 모두 vector 형식으로 저장됩니다. 따라서 vector는 Unity에서 매우 중요합니다. 이번시간에는 vector에 대해서 알아보겠습니다. #Vector의 정의 Vector는 공간상의 화살표, 나열된 숫자 데이터 등 다양한 관점이 있습니다. 하지만 Unity에서의 Vector는 공간상의 화살표로 사용됩니다. Unity에서의 Vector는 위치, 방향, 속도를 나타냅니다. 벡터는 x, y, z에 대응 하는 세 원소를 가지고 있고 오브젝트의 위치, 방향, 회전, 속도, 크기는 모두 vector 형식으로 저장됩니다. #절..

article thumbnail
[C++] 함수 인수 전달 방식의 차이점 이해하기
프로그래밍/C++ 2023. 4. 20. 11:01

함수 인수 전달 방식 C++에서 함수 인수 전달 방식은 크게 값에 의한 전달, 참조에 의한 전달, 포인터에 의한 전달의 세 가지 방법이 있습니다. 이 세 가지 방법은 각각의 장단점이 있으므로, 어떤 방식을 선택할지는 상황에 따라 다릅니다. 이번 글에서는 이 세 가지 방식에 대해 자세히 알아보도록 하겠습니다. #값에 의한 전달(call by value) 값에 의한 전달은 함수 인수로 값 자체를 전달하는 방식입니다. 이 방식은 함수 내부에서 인수 값을 변경하더라도 함수 외부에서는 변경되지 않습니다. 따라서 함수 인수가 참조할 수 있는 값의 범위가 함수 내부로 제한되기 때문에, 함수 외부에서는 함수 인수를 변경할 수 없게 됩니다. void increment(int x) { x++; } int main() { ..

article thumbnail
[Unity] State Machine을 이용한 FSM
프로그래밍/UNITY 2023. 4. 18. 00:39

#FSM FSM(Finite State Machine)은 유한 상태 기계라고도 불리며, 객체의 동작을 상태(State)로 분류하고, 이러한 상태들 간의 전이(Transition)를 규칙(Condition)에 따라 처리하는 모델링 기법입니다. FSM은 기본적으로 다음과 같이 구성됩니다. State 객체의 동작을 상태(State)로 분류합니다. 예를 들어, 캐릭터의 상태를 "Idle", "Run", "Jump"와 같이 나눌 수 있습니다. Transition 상태(State)와 상태(State) 간의 전이(Transition)를 정의합니다. 예를 들어, 캐릭터가 "Idle" 상태에서 "Run" 상태로 전이될 때, "Run" 상태로 전이될 때의 조건(Condition)을 지정합니다. Action 상태(State..

article thumbnail
JavaScript.info
프로그래밍/JavaScript 2023. 4. 11. 00:25

JavaScript.info 자바스크립트는 매우 인기있는 프로그래밍 언어입니다. 이 언어를 사용하면 브라우저에서 실행되는 다양한 기능을 만들 수 있으며, 최근에는 서버 측 개발에도 많이 사용됩니다. 이번 블로그에서는 자바스크립트의 기본 개념인 변수, 함수, 객체, 프로토타입, 클래스, 프라미스 및 async/await에 대해 알아보겠습니다. 자바스크립트 기본 #변수와 상수 자바스크립트에서 변수는 var, let, const 키워드로 선언할 수 있습니다. var 키워드는 ES2015 이후 더 이상 권장되지 않습니다. let은 값을 변경할 수 있는 변수를, const는 값을 변경할 수 없는 상수를 선언합니다. let myVariable = 'Hello World'; const myConstant = 42; ..

article thumbnail
[C++]윈도우 API를 활용한 절대 음감 게임
프로그래밍/C++ 2023. 4. 6. 00:09

절대 음감 게임 #문제 8음계를 차래대로 들려준 후 랜덤으로 한 음을 들려주고 그 음을 맞추는 게임이다. #풀이 #include #include #include using namespace std; void SoundPlay(int n, bool show) { switch (n) { case 1: show ? cout