상세 컨텐츠

본문 제목

백준 10773번

백준 알고리즘 풀이

by 발발개발 2021. 4. 6. 13:43

본문

원본 : www.acmicpc.net/problem/10773

 

10773번: 제로

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

www.acmicpc.net

 

풀이

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.Stack;

public class Main {

	public static BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
	public static BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(System.out));

	public static void main(String[] args) throws Exception {
		int n = Integer.parseInt(reader.readLine());
		
		Stack<Integer> stack = new Stack<>();
		
		for (int i = 0; i < n; i++) {
			int m = Integer.parseInt(reader.readLine());
			if (m == 0) {
				stack.pop();
			} else {
				stack.add(m);
			}
		}
		
		int sum = 0;
		while (true) {
			if (stack.isEmpty()) {
				break;
			} else {
				sum += stack.pop();
			}
		}
		
		writer.write(sum + "");
		writer.flush();
	}
	
}

'백준 알고리즘 풀이' 카테고리의 다른 글

백준 4949번  (0) 2021.04.06
백준 9012번  (0) 2021.04.06
백준 10828번  (0) 2021.04.06
백준 2004번  (0) 2021.04.06
백준 1676번  (0) 2021.04.06

관련글 더보기

댓글 영역