SMALL

https://www.acmicpc.net/problem/10773

 

10773번: 제로

첫 번째 줄에 정수 K가 주어진다. (1 ≤ K ≤ 100,000) 이후 K개의 줄에 정수가 1개씩 주어진다. 정수는 0에서 1,000,000 사이의 값을 가지며, 정수가 "0" 일 경우에는 가장 최근에 쓴 수를 지우고, 아닐 경

www.acmicpc.net


  • 문제


  • 문제풀이

첫번째 줄에서 N을 받아 N개만큼 숫자를 받아 Stack에 집어 넣는다. 0이라면 Pop 0이 아니라면 Push를 한뒤 스택에 남은 숫자들을 더해준다. 숫자를 더할때에는 foreach를 통해 더해주거나 Stack.Sum()을 출력해주면 된다.

 


  • 코드 1
namespace YongYong2
{
    internal class Program
    {
        static void Main(string[] args)
        {
            Stack<int> stack = new();
            int temp = 0;
            int N=int.Parse(Console.ReadLine()); 
            for(int i = 0; i < N; i++)
            {
                int num=int.Parse(Console.ReadLine());
                if(num==0)
                {
                    stack.Pop();
                }
                else
                {
                    stack.Push(num);
                }                
            }
            foreach(int item in stack)
            {
                temp += item;
            }
            Console.WriteLine(temp);
            //Console.WriteLine(stack.Sum()); 이것도 사용가능
        }
    }
}

  • 후기

어쩌다보니 Stack.Sum()을 알게 되었다.

LIST

'백준 > C#' 카테고리의 다른 글

[C#]백준 2164번: 카드2  (0) 2023.01.28
[C#]백준 9012번: 괄호  (0) 2023.01.14
[C#]백준 2775번: 부녀회장이 될테야  (0) 2023.01.05
[C#]백준 10828번: 스택  (0) 2023.01.05
[C#]5597번: 과제 안 내신 분..?  (0) 2023.01.05

+ Recent posts