전체 글

Hello World!
· Algorithm
https://www.acmicpc.net/problem/1874 스택의 LIFO 특성을 이용하여 임의의 수열이 주어졌을 때 스택을 이용해 수열을 만들 수 있는지 알아내는 프로그램을 작성하는 문제이다. 코드 #include #include #include #include using namespace std; int main() { int N; cin >> N; int C = 1; //카운터 vector s(N); //수열 stack stack; //스택 vector o; //+,- for (int i = 0; i > M; if (!stack.empty() && stack.top() == M) { stack.pop(); o.push_back('-'); } else..
· Algorithm
https://www.acmicpc.net/problem/1181 정수 N이 주어지고 N개의 줄에 걸처 소문자로 이루어진 알파벳을 단어를 한줄에 하나씩 입력한다. 이때 조건은 다음과 같다. 1. 길이가 짧은 순서대로 2. 길이가 같으면 사전 순으로 (a>b>c) 3. 중복된 단어는 하나만 남기고 삭제 코드 #include #include #include #include #include using namespace std; //N개의 단어가 들어오면 아래와 같은 조건에 따라 정렬 //1. 길이가 짧은 것 부터 //2. 길이가 같으면 사전 순으로, a,b,c //중복된 단어는 하나만 남기고 제거 bool compare(paira, pairb) { if (a.first == b.first) { return a..
개요 언리얼 엔진에서의 프로그래밍은 게임의 기능을 만드는 것을 의미한다. 캐릭터가 어떻게 조작되어 움직이고, 어떤 규칙으로 목적을 달성해야 게임에서 승리하게 되는지 등 이런 전반적인 것을 프로그래밍 언어나 다른 여러 가지 방법으로 만드는 것이다. 언리얼 엔진에서 게임 기능을 만드는 방법은 C++와 블루프린트 이렇게 두 가지가 있다. C++ 클래스로만 게임을 제작하거나 블루프린트 클래스만을 이용해서 게임을 제작하는 것도 충분히 가능하지만, 이 두 방법을 완전히 따로 사용하는 것 보다는 프로그래머가 C++로 베이스가 되는 게임 기능을 만들고, 디자이너가 블루프린트를 이용해서 그 기본 게임 기능을 가지고 게임의 재미를 위한 기능들을 제작하는 방식으로 함께 사용할 때 시너지를 발휘한다. C++ 클래스와 블루프린..
· Algorithm
https://www.acmicpc.net/problem/9095 정수 n이 주어졌을 때 1, 2, 3의 숫자만을 이용해서 합을 나타내고 그 경우의 수를 구하는 문제이다. 코드 #include #include using namespace std; int main() { int T; int N; cin >> T; vector arr(12); arr[1] = 1; arr[2] = 2; arr[3] = 4; for (int i = 4; i N; cout 1 + 1 2 경우의 수 : 2 1 + 1 + 1 1 + 2 2 + 1 3 경우의 수 : 4 <..
· Algorithm
https://www.acmicpc.net/problem/1463 1. X가 3으로 나누어 떨어지면 3으로 나눈다. 2. X가 2로 나누어 떨어지면 2로 나눈다. 3. 1을 뺀다 이 3개의 연산을 최소한의 횟수로 1을 만드는 문제이다. 코드 #include #include #include using namespace std; int main() { int N; cin >> N; vector dp(N + 1); dp[1] = 0; dp[2] = 1; dp[3] = 1; //dp[4] = dp[3] + 1 = 2 //dp[5] = dp[4] + 1 = 3 //dp[6] = dp[5] + 1 = 4 => 오류 for (int i = 4; i 1 4 -> 2 -> 1 5 -> 4 -> 2 ->..
C C 언어는 이 세가지 언어 중 가장 기본이 되는 언어이다. 가장 오래되고, 가장 널리 사용되며, 운영체제나 언어 처리계 등의 시스템 기술에 적합한 프로그래밍 언어. 가장 오래된 만큼 C언어는 리소스가 거의 부족한 기계에서 작동할 때 유용하다는 특성이 있음. 즉, 메모리에 대한 기본 수준의 엑세스를 제공, 런타임 지원이 거의 필요없어 효율적으로 작동하는 프로그래밍 언어. (적은 공간을 소모하면서 빠름) C++ 덴마크의 컴퓨터 과학자인 Bjarne Stroustrup이 개발하여 출시됨. 운영체제 개발에서 C언어와 함께 사용되며, 고수준의 서버 및 PC 소프트웨어에서도 사용 C언어의 확장판이라고도 한다. 하위 수준인 C언어를 기반으로 하나, 속도나 효율성 저하 없이 C언어를 개선함과 동시에 객체 지향 프로..
OSI 7계층이란? OSI 7계층은 네트워크에서 통신이 일어나는 과정을 7단계로 나눈 것을 의미한다. 7계층으로 나누는 이유? 통신이 일어나는 과정을 단계별로 파악할 수 있기 때문이다. 그렇기에 특정한 곳에 이상이 생기면 다른 단계의 장비 및 소프트웨어를 건들이지 않고 그 단계만 수정할 수 있다. 예시 PC방에서 오버워치를 하는데 연결이 끊겼다. 어디에 문제가 있는지 확인하기 위해서는 모든 PC가 문제가 있다면 라우터의 문제(3계층 네트워크 계층)이거나 광랜을 제공하는 회사의 회선 문제(1계층 물리 계층) 한 PC만 문제가 있고 오버워치 소프트웨어에 문제가 있다면(7계층 어플리케이션 계층) 오버워치 소프트웨어에 문제가 없고, 스위치에 문제가 있으면(2계층 데이터링크 계층) 있다고 판단해 다른 계층에 있는..
· Algorithm
https://www.acmicpc.net/problem/10814 사람들의 나이와 이름을 가입한 순서대로 넣고, 회원들을 나이를 기준으로 오름차순으로 정렬하되 나이가 같으면 먼저 가입한 사람이 앞에 오는 순서로 정렬하는 프로그램을 구현하는 문제이다. 코드 #include #include #include #include #include //pair using namespace std; bool compare(paira, pairb) { if (a.first == b.first) { return false; } else { return a.first > N; vector arr; for (int i = 0..
· Algorithm
Map이란? 키-값(key-value) 쌍을 저장하는 연관 컨테이너로, 키를 사용하여 값을 빠르게 검색할 수 있는 자료구이다. 'std::map'은 레드-블랙 트리(Red-Black Tree)라는 자기 균형 이진 검색 트리를 기반을 작동한다. 이 트리는 삽입, 삭제, 검색 등의 연산을 효율적으로 수행할 수 있도록 설게되어 있다. 아래에서 'std::map'의 동작원리와 사용방법을 상세히 설명하겠다. 동작원리 - 레드-블랙 트리: 'std::map' 은 레드-블랙 트리로 구현되어 있으며, 레드-블랙 트이는 이진 검색 트리의 3한 종류로, 균형을 유지하는 트리이다. 이것은 모든 노드가 레드 또는 블랙이며, 몇가지 규칙에 따라 노드가 추가되거나 제거될 때 균형을 유지한다. - 키-값 쌍: 'std::map'은..
· Algorithm
https://www.acmicpc.net/problem/10866 문제 그대로 각 명령에 따라 덱의 기능을 구현하는 문제이다. 코드 #include #include #include using namespace std; int main() { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); int N; int X; string Str; deque dec; cin >> N; if (N 10000) { return 0; } for (int i = 0; i > Str; if (Str == "push_front") { cin >> X; dec.push_front(X); } else if (Str == "push_..
alsrudwls01
Develop.Log