본문 바로가기

스택4

[코딩 테스트/백준 알고리즘] BOJ.1874 : 스택 수열 (Java 풀이) 문제 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 문제 이해 나는 일단 이 문제 이해부터가 쉽지 않았다. 문제 아래 힌트를 보고 겨우 이해할 수 있었다. 테스트 케이스를 나타내면 아래 표와 같다. case 1 연산 스택 sNum 스택 수열 (4 3 6 8 7 5 2 1) push(+) {1} 4 push(+) {1, 2} 4 push(+) {1, 2, 3} 4.. 2022. 7. 17.
[백준 알고리즘/ C++] BOJ.9012 : 괄호 문제 https://www.acmicpc.net/problem/9012 9012번: 괄호 괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고 www.acmicpc.net 풀이 자료구조 - char stack[] : 스택으로 사용할 배열 - int top : top으로 쓸 변수 - int count : 테스트케이스 수 - string str : 입력받은 문자열 - int length : 문자열 길이 알고리즘 - 스택 코드 - C++은 string이라는 문자열을 처리하기에 유리한 변수가 있기 때문에 사용 - getline() 함수를.. 2022. 1. 31.
[백준 알고리즘/ C++] BOJ.10828 스택 문제 https://www.acmicpc.net/problem/10828 10828번: 스택 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net 풀이 자료구조 - int stack[] : 스택을 구현하기 위한 배열 - int top : top의 역할을 하는 변수 - int data : 입력 값 - int num : 테스트 입력 수를 저장하는 변수 - int count : 실행횟수 세기 위한 변수 알고리즘 - 스택 - 자료구조 코드 - C++은 string이라는 문자열을 처리하기에 유리한 변수가 있기 때문에 사용 - .. 2022. 1. 30.
[자료구조/C++] 스택(Stack) 스택이란? 인터넷을 돌아다니다 보면 "업보 스택 쌓는다"라는 말을 들을 수 있을 것이다. 무언가 잘못을 해서 업보를 차곡차곡 쌓는다는 뜻인데, 나중에 이를 그대로 돌려받을 때 "업보 청산" 한다고 한다. 여기서 스택의 뜻을 대충 유추할 수 있는데, 스택은 업보와 같이 동일한 구조의 데이터를 차곡차곡 쌓는 것을 말한다. 스택의 특징 스택의 대표적인 특징으로는 "가장 마지막에 삽입된 데이터가 가장 먼저 삭제"되는 후입선출(LIFO:Last-In-First-Out)의 구조를 가진다는 것이다. 이러한 특징 때문에 스택에서는 가장 나중에 들어간 데이터 만을 조작할 수 있는데, 여기서 가장 위에 위치한 데이터를 top이라고 한다. 스택에서 삽입과 삭제는 모두 top을 통해서만 가능하다. 스택의 기능 스택에는 데이터.. 2022. 1. 25.