[C언어/C++] STL 스택(Stack) 총정리 - 개념, 사용법, 시간복잡도, 예제코드, 코딩테스트 활용, 주의점
1. Stack 개념Stack(스택)은 후입선출(LIFO, Last In First Out) 구조를 가지는 자료구조로, 가장 나중에 삽입된 요소가 가장 먼저 제거됩니다. 대표적인 활용 예로는 DFS(깊이 우선 탐색), 수식 계산(괄호 검사, 후위 표기법 변환) 등이 있습니다.C++ STL에서는 stack을 제공하며, std::stack을 활용하여 쉽게 사용할 수 있습니다. 2. Stack 주요 연산 및 사용법 STL의 stack은 헤더 파일을 포함하여 사용합니다. 주요 연산은 다음과 같습니다.(1) Stack 선언 및 초기화#include #include using namespace std;int main() { stack s; // 정수형 스택 선언 return 0;} (2) 요소 삽입..
2025. 2. 25.
[C언어/C++] STL queue 총정리 - 개념, 원리, 사용법, 예제코드, 시간복잡도, 주의사항, 예제코드, 코딩테스트 활용 예시
1. queue란?queue(큐)는 FIFO(First In, First Out, 선입선출) 방식으로 동작하는 자료구조입니다. 먼저 들어온 데이터가 먼저 나가므로, 줄을 서는 대기열과 같은 구조를 가집니다. 2. queue의 원리queue는 두 개의 주요 연산을 가집니다.push(): 데이터를 큐의 끝에 추가합니다.pop(): 큐의 앞(front)에 있는 데이터를 제거합니다.이외에도 다음과 같은 주요 연산이 제공됩니다.front(): 큐의 가장 앞(front) 요소를 확인합니다.back(): 큐의 가장 뒤(back) 요소를 확인합니다.empty(): 큐가 비어있는지 확인합니다.size(): 큐의 크기를 반환합니다. 3. queue 사용법 정리3.1. queue 선언 및 기본 사용법#include #i..
2025. 2. 25.
[C언어/C++] auto 키워드 완벽 정리 - 개념, 원리, 사용법, 예제, 주의사항
C++에서 auto 키워드는 변수의 타입을 자동으로 추론해주는 기능을 제공합니다. C++11부터 도입된 이 기능은 코드의 가독성을 높이고, 유지보수를 용이하게 만드는 중요한 역할을 합니다. 본 포스팅에서는 auto 키워드의 개념부터 사용법, 동작 원리, 예제, 그리고 주의해야 할 사항까지 상세하게 정리하겠습니다. 1. auto 키워드란?auto 키워드는 컴파일러가 변수의 타입을 자동으로 결정하도록 합니다. 즉, 개발자가 명시적으로 타입을 지정하지 않아도, 변수의 초기값을 기반으로 타입이 결정됩니다.auto를 사용한 변수 선언 예제#include using namespace std;int main() { auto x = 10; // int로 추론됨 auto y = 3.14; ..
2025. 2. 22.
[C언어/C++] STL Iterator 총정리 - 개념, 원리, 사용법, 시간복잡도, 코딩 테스트 활용법
코딩 테스트에서 STL을 활용하면 효율적인 자료구조 및 알고리즘 구현이 가능합니다. STL을 사용할 때 가장 중요한 개념 중 하나가 바로 Iterator(반복자)입니다. 모든 STL 컨테이너(queue, stack, map, unordered_map 등)에서 iterator를 사용하기 때문에, 이를 먼저 익혀두는 것이 중요합니다. 이번 포스팅에서는 iterator의 개념부터 사용법, 시간 복잡도, 그리고 코딩 테스트에서 자주 쓰이는 패턴까지 완벽히 정리하겠습니다. 1. Iterator란?Iterator(반복자)는 STL 컨테이너 내부 요소를 순회하는 데 사용되는 객체입니다. 배열의 인덱스를 직접 사용하는 대신, iterator를 활용하면 더 범용적인 코드 작성이 가능합니다.Iterator의 역할컨테이너..
2025. 2. 22.