스택?
먼저 들어간 원소가 가장 나중에 나오는 First in last out (FILO) 자료구조이다. 스택, 큐, 덱은 모두 특정 위치에서만 원소를 넣거나 뺄 수 있는 제한이 걸려있어 Restricted structure라고 부르기도 한다.
- 원소의 추가 O(1)
- 원소의 제거 O(1)
- 최상단의 원소 확인 O(1)
- 최상단이 아닌 원소들의 확인/변경이 원칙적으로 불가능
연습 문제
1. 백준 10828 : https://www.acmicpc.net/problem/10828
using System.Text;
var count = int.Parse(Console.ReadLine());
Stack<int> stack = new Stack<int>();
for (int i = 0; i < count; i++)
{
StringBuilder sb = new StringBuilder();
var input = Console.ReadLine();
string[] token = input.Split(' ');
if (input != null)
{
if (input.Contains("push")) stack.Push(int.Parse(token[1]));
else if (input == "pop")
{
if (stack.Count <= 0) sb.Append(-1);
else sb.Append(stack.Pop());
}
else if (input == "size") { sb.Append(stack.Count); }
else if (input == "empty")
{
if (stack.Count <= 0) sb.Append(1);
else sb.Append(0);
}
else if (input == "top")
{
if (stack.Count <= 0) sb.Append(-1);
else sb.Append(stack.Peek());
}
if(!input.Contains("push")) Console.WriteLine(sb.ToString());
}
}
'코딩 공부 > 알고리즘' 카테고리의 다른 글
덱 Double ended queue (0) | 2024.10.11 |
---|---|
큐 queue (0) | 2024.10.11 |
연결 리스트 (0) | 2024.10.11 |
배열 (0) | 2024.10.11 |
시간복잡도, 공간복잡도 (0) | 2024.10.09 |