문제/백준_파이썬
152. 10773(제로) - 자바
sm_hope
2022. 7. 20. 21:21
import java.util.*;
import java.io.*;
import java.math.BigInteger;
class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
Stack<Integer> stack = new Stack();
int K = sc.nextInt();
int result = 0;
for (int i = 0; i < K; i++) {
int N = sc.nextInt();
if(N == 0) stack.pop();
else stack.add(N);
}
for(int val : stack) {
result += val;
}
System.out.println(result);
}
}
문제요약
재민이가 잘못 된 수를 외치면 0을 외쳐서 지우게 함.
재민이가 적은 수의 합을 알아보자
설명
아주 간단한 문제이다.
0이 들어오면 스택에서 꺼내면 된다.
if(N == 0) stack.pop();
else stack.add(N);
만약 0이 들어오면 pop으로 마지막 수를 지우고 그게 아니면 값을 집어 넣는다.
for(int val : stack) {
result += val;
}
forEach 구문을 통해서 stack 에 있는 값들을 꺼내 더해준다.