📝 문제
백준 - 10773번: 제로 (Silver IV)
📝 풀이
📌 작성 코드
import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
//입력 받을 숫자 개수
int n = Integer.parseInt(br.readLine());
//출력할 숫자 합계
int result = 0;
//스택으로 가장 최근 입력 받은 숫자 파악하기
Stack<Integer> s = new Stack<>();
for (int i = 0; i < n; i++) {
int num = Integer.parseInt(br.readLine());
//만약 num이 0이면 스택 최상위 숫자 제거
if (num == 0) {
s.pop();
} else { //0이 아니면 스택에 추가
s.add(num);
}
}
//스택의 숫자를 하나씩 꺼내면서 result에 더해주기
while (!s.isEmpty()) {
result += s.pop();
}
System.out.println(result);
}
}
📌 결과