코딩테스트 풀이/JAVA
[백준 온라인 저지] 10773. 제로
무지맘
2023. 4. 20. 11:24
1. 입력
- 첫 번째 줄에 정수 K가 주어진다. (1 ≤ K ≤ 100,000)
- 이후 K개의 줄에 정수가 1개씩 주어진다. 정수는 0에서 1,000,000 사이의 값을 가지며, 정수가 "0" 일 경우에는 가장 최근에 쓴 수를 지우고, 아닐 경우 해당 수를 쓴다.
- 정수가 "0"일 경우에 지울 수 있는 수가 있음을 보장할 수 있다.
2. 출력
- 재민이가 최종적으로 적어 낸 수의 합을 출력한다. 최종적으로 적어낸 수의 합은 231-1보다 작거나 같은 정수이다.
3. 코드
import java.util.*;
import java.io.*;
class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
Stack<String> stack = new Stack<>();
int n = Integer.valueOf(br.readLine());
for(int i=0 ; i<n ; i++){
String s = br.readLine();
if(s.equals("0")) stack.pop();
else stack.push(s);
}
int sum = 0;
while(!stack.empty())
sum += Integer.valueOf(stack.pop());
System.out.print(sum);
}
}