🔑알고리즘/baekjoon
백준 10773 : 제로 자바 문제 풀이 (스택 사용 문제)
pkyung
2022. 1. 2. 22:30
반응형
이 문제 또한 간단한 문제입니다.
예제 2번을 설명한 그림입니다. 0이 나오면 stack에 있는 제일 최근 것을 pop() 하면 되겠다는 생각이 들죠.
그리고 나머지 스택에 들어 있는 걸 다 더해주면 되는데 그건 stack이 빌 때까지 pop()을 하면 됩니다.
시간 초과의 기억으로 게속 BufferedReader에 익숙해지려고 이 문제도 버퍼로 풀었어요.
import java.io.*;
import java.util.*;
public class Main{
public static void main(String[] args) throws NumberFormatException, IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
Stack<Integer> s = new Stack<Integer>();
int result = 0;
int n = Integer.parseInt(br.readLine());
for(int i=0;i<n;i++) {
int integer = Integer.parseInt(br.readLine());
if(integer!=0) {
s.push(integer);
}
else {
s.pop();
}
}
while(!s.empty()) {
result += s.pop();
}
bw.write(result+"");
bw.flush();
}
}
반응형