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

 

๐Ÿ“ ํ’€์ด : Stack

import java.io.*;
import java.util.Stack;
public class Main {
// ์žฌ๋ฏผ์ด๊ฐ€ ์ตœ์ข…์ ์œผ๋กœ ์ ์–ด ๋‚ธ ์ˆ˜์˜ ํ•ฉ ์ถœ๋ ฅ(2^31-1๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์ •์ˆ˜)
public static void main(String[] args) throws IOException {
/* [1] ์ž…๋ ฅ */
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int K = Integer.parseInt(br.readLine()); // (1 โ‰ค K โ‰ค 100,000)
Stack<Integer> stack = new Stack<>(); // ์ž…๋ ฅ๋œ ์ •์ˆ˜๋ฅผ ์ €์žฅํ•  ์Šคํƒ
/* [2] ๋ฐ˜๋ณต๋ฌธ */
while (K-- > 0) {
int n = Integer.parseInt(br.readLine()); // ์ •์ˆ˜(0 โ‰ค n โ‰ค 1,000,000)
if (n == 0) stack.pop(); // ์ •์ˆ˜๊ฐ€ "0" ์ผ ๊ฒฝ์šฐ์—๋Š” ๊ฐ€์žฅ ์ตœ๊ทผ์— ์“ด ์ˆ˜๋ฅผ ์ง€์šฐ๊ณ , ์•„๋‹ ๊ฒฝ์šฐ ํ•ด๋‹น ์ˆ˜๋ฅผ ์“ด๋‹ค.
else stack.push(n);
}
/* [3] ํ•ฉ ์ถœ๋ ฅ */
int sum = stack.stream().mapToInt(Integer::intValue).sum();
System.out.print(sum);
}
}
yewon31