코테준비

[2025.5.7] 백준 1874번: 스택 수열

도도돋치 2025. 5. 7. 21:19
Contents 접기
728x90

using System.Linq.Expressions;
using System.Text;

namespace CodingTest;

class Program
{
    static void Main(string[] args)
    {
        int num = int.Parse(Console.ReadLine());
        int temp = 1;
        StringBuilder stringBuilder = new StringBuilder();

        Stack<int> stack = new Stack<int>();

        for (int i = 0; i < num; i++)  
        {
            int inputNum = int.Parse(Console.ReadLine());

            if (stack.Count() != 0 && stack.Peek() == inputNum)
            {
                stringBuilder.AppendLine("-");
                stack.Pop();
            }
            else
            {
                if (temp > inputNum)
                {
                    stringBuilder.Clear();
                    stringBuilder.AppendLine("NO");
                    break;
                }
                for (int j = temp; j <= inputNum; j++)
                {
                    stringBuilder.AppendLine("+");
                    stack.Push(j);
                }
                temp = inputNum + 1;
                stringBuilder.AppendLine("-");
                stack.Pop();
            }
        }
        Console.WriteLine(stringBuilder);
    }
}

 

728x90

'코테준비' 카테고리의 다른 글

[2025.5.2] 백준 10845: 큐  (0) 2025.05.09
[2025.5.2] 백준 9012: 괄호  (1) 2025.05.02
[2025.5.1] 백준 9093: 단어뒤집기  (0) 2025.05.02
[2025.4.30] 백준 10828: 스택  (0) 2025.05.01
DFS 공부  (0) 2025.04.30