SMALL
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
- 문제
- 문제풀이
1부터 n까지 Push를 해주면서 "+\n"를 입력해주고 만약 스택을 체크했을 때 배열로 받아주었던 입력값과 같다면 Pop과 "-\n"를 입력해준다. 끝까지 진행을 했을 때 스택에 수가 남아있다면 NO를 입력해주고 아니라면 stringbuilder로 입력받은 문자를 출력해준다.
- 코드 1
using System.Text;
namespace ConsoleApp7
{
internal class Program
{
static void Main(string[] args)
{
StringBuilder sb = new StringBuilder();
Stack<int> stack = new Stack<int>();
int count = 0;
int N = int.Parse(Console.ReadLine());
int[] input=new int[N];
Queue<int> queue = new Queue<int>();
for(int i=0;i<N;i++)
{
input[i]=int.Parse(Console.ReadLine());
}
for(int i = 1; i <= N; i++)
{
stack.Push(i);
sb.Append("+\n");
while (stack.Any() && stack.Peek() == input[count])
{
stack.Pop();
sb.Append("-\n");
count++;
}
}
if (stack.Any())
{
Console.WriteLine("NO");
}
else
{
Console.WriteLine(sb.ToString());
}
}
}
}
- 후기
힌트를 보고 그려보니 쉽게 풀 수 있었다
LIST
'백준 > C#' 카테고리의 다른 글
[C#]백준 1978번: 소수 찾기 (0) | 2023.02.04 |
---|---|
[C#]백준 13335번: 트럭 (4) | 2023.02.02 |
[C#]백준 2493번: 탑 (0) | 2023.02.01 |
[C#]백준 17827번: 달팽이 리스트 (0) | 2023.01.28 |
[C#]백준 23253번: 자료구조는 정말 최고야 (0) | 2023.01.28 |