[백준 10845번] 큐 (C++)
·
Algorithm
https://www.acmicpc.net/problem/10845 10845번: 큐 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net 이번 포스팅에서는 백준 10845번 문제를 학습합니다. 10845번 문제를 위해 큐에 대해 간단히 정리한 포스팅을 보고 오면 도움이 됩니다 :0 https://uoa6uoas.tistory.com/10 [자료구조 & 알고리즘] 큐 (C++) 이번 포스팅에서는 큐(Queue)에 관해 학습합니다. I) 큐 큐(Queue)는 스택(Stack)과 마찬가지로 대표적인 자료구조이다. 먼저 들..
[알고리즘] 큐 (C++)
·
Algorithm
이번 포스팅에서는 큐(Queue)에 관해 학습합니다. I) 큐 큐(Queue)는 스택(Stack)과 마찬가지로 대표적인 자료구조이다. 먼저 들어온 자료가 먼저 나가는 (First In First Out) FIFO 방식으로 작동한다. 먼저 온 사람이 먼저 서비스를 받는 은행창구와 같다. 왼쪽이 입구이고 오른쪽이 출구인 아래의 큐에 다음과 같은 입력을 차례대로 했다고 해보자. 숫자 1 삽입 - 숫자 2 삽입 - 숫자 4 삽입 - 숫자 하나 삭제 - 숫자 하나 삭제 - 숫자 3 삽입 그렇다면 과정 별 결과는 아래 그림과 같을 것이다. 이제 STL Queue 라이브러리 선언과 함수에 대해 간단하게 정리하겠다. queue container 은 헤더파일 안에 존재한다. 기본 생성자 형식은 queue < DATA T..
[백준 1874번] 스택 수열 (C++)
·
Algorithm
https://www.acmicpc.net/problem/1874 1874번: 스택 수열 1부터 n까지에 수에 대해 차례로 [push, push, push, push, pop, pop, push, push, pop, push, push, pop, pop, pop, pop, pop] 연산을 수행하면 수열 [4, 3, 6, 8, 7, 5, 2, 1]을 얻을 수 있다. www.acmicpc.net 이번 포스팅에서는 백준 1874번 문제를 학습합니다. 문제 스택 (stack)은 기본적인 자료구조 중 하나로, 컴퓨터 프로그램을 작성할 때 자주 이용되는 개념이다. 스택은 자료를 넣는 (push) 입구와 자료를 뽑는 (pop) 입구가 같아 제일 나중에 들어간 자료가 제일 먼저 나오는 (LIFO, Last in Fir..
[백준 9012번] 괄호 (C++)
·
Algorithm
https://www.acmicpc.net/problem/9012 9012번: 괄호 괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고 www.acmicpc.net 이번 포스팅에서는 백준 9012번 문제를 학습합니다. 이번 문제도 스택 라이브러리를 이용해서 풀 수 있고, 직접 구현해서도 풀 수 있다. 1. 직접 구현 #include #include using namespace std; int main(){ int T; cin>>T; string str; for(int i=0; i>str; int k=0; for(int j=0; ..
[백준 9093번] 단어 뒤집기 (C++)
·
Algorithm
https://www.acmicpc.net/problem/9093 9093번: 단어 뒤집기 첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있으며, 문장이 하나 주어진다. 단어의 길이는 최대 20, 문장의 길이는 최대 1000이다. 단어와 단어 사이에는 www.acmicpc.net 이번 포스팅에서는 백준 9093번 문제를 학습합니다. 이 문제는 스택 라이브러리를 이용해 풀 수 있지만, 배열로 풀어보겠다. 이번 문제에서는 cin 과 getline을 동시에 사용할 때 발생하는 문제에 대해서 짚고 넘어가자. #include using namespace std; int main(void) { string s1,s2; cin >> s1; cout
[백준 10828번] 스택 (C++)
·
Algorithm
https://www.acmicpc.net/problem/10828 10828번: 스택 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net 이번 포스팅에서는 백준 10828번 문제를 학습합니다. 10828번 문제를 풀기 위해서 스택에 대해 간단히 정리하자. I) 스택 스택은 가장 기본이 되는 자료구조이다. 한쪽에서만 자료를 넣고 뺄 수 있고, 나중에 들어온 것이 먼저 처리 되기 때문에 Last In First Out (LIFO) 라고도 부른다. 아래 그림과 같이 접시 쌓기라고 생각 할 수 있다. 위 그림에서 먼저 들..