반응형
이 문제 또한 간단한 문제입니다.
예제 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();
}
}
반응형
'🔑알고리즘 > baekjoon' 카테고리의 다른 글
백준 2581 : 소수 - JAVA(자바) 해결 코드 (0) | 2022.01.23 |
---|---|
백준 9012 : 괄호 자바 문제 풀이 (Stack 사용 문제) (0) | 2022.01.02 |
백준 10828 : 스택 자바 문제 풀이(시간 초과 해결-BufferedReader의 사용) (0) | 2022.01.02 |
백준 10250 : ACM 호텔 - 자바(Java) 문제 풀이 (0) | 2021.08.15 |
백준 2292 : 벌집 - 자바 문제 풀이 (수학 문제) (0) | 2021.08.04 |