본문 바로가기

Pro Developer20

[백준 1874번] 스택 수열 (C++) 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.. 2022. 2. 11.
[백준 9012번] 괄호 (C++) 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; .. 2022. 2. 9.
[백준 9093번] 단어 뒤집기 (C++) 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 2022. 2. 9.
[백준 10828번] 스택 (C++) 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) 라고도 부른다. 아래 그림과 같이 접시 쌓기라고 생각 할 수 있다. 위 그림에서 먼저 들.. 2022. 2. 9.