C#

백준 C# 10773 문제 풀이

psb08 2024. 12. 18. 15:35
728x90

문제 링크 : https://www.acmicpc.net/problem/10773

목차

1. 설명

 

2. 내 코드

 

3. 문제 풀이 해석 내용

 

4. 실행 결과

 

설명

백준 실버 4 문제 입니다.

문제명 : 제로

 

내 코드

int K = int.Parse(Console.ReadLine());
Stack<int> stack = new Stack<int>();

for (int i = 0; i < K; i++)
{
    int A = int.Parse(Console.ReadLine());
    if (A == 0)
    {
        if (stack.Count > 0)
        {
            stack.Pop();
        }
    }
    else
    {
        stack.Push(A);
    }
}

int sum = 0;
while (stack.Count > 0)
{
    sum += stack.Pop();
}

Console.WriteLine(sum);

 

문제 풀이 해석 내용

 

입력 처리

int K = int.Parse(Console.ReadLine());
Stack<int> stack = new Stack<int>();

 

 

수 처리

for (int i = 0; i < K; i++)
{
    int A = int.Parse(Console.ReadLine());
    if (A == 0)
    {
        if (stack.Count > 0)
        {
            stack.Pop(); // 가장 최근에 입력된 수 제거
        }
    }
    else
    {
        stack.Push(A); // 수를 스택에 추가
    }
}

 

 

합계 계산

int sum = 0;
while (stack.Count > 0)
{
    sum += stack.Pop(); // 스택에서 수를 꺼내면서 합산
}

 

 

결과 출력

Console.WriteLine(sum); // 최종 합계 출력

 

 

실행 결과

실행 결과

 

728x90

'C#' 카테고리의 다른 글

백준 C# 1920 문제 풀이  (0) 2024.12.20
백준 C# 10816 문제 풀이  (0) 2024.12.19
백준 C# 4949 문제 풀이  (0) 2024.12.17
백준 C# 2164 문제 풀이  (0) 2024.12.16
백준 C# 7568 문제 풀이  (0) 2024.12.14