백준 10773 제로 (JAVA 자바 풀이)
📌 문제
재현이는 잘못된 수를 부를 때마다 0을 외쳐서, 가장 최근에 재민이가 쓴 수를 지우게 시킨다.
재민이는 이렇게 모든 수를 받아 적은 후 그 수의 합을 알고 싶어 한다. 재민이를 도와주자!
⚔ 입력
첫 번째 줄에 정수 K가 주어진다. (1 ≤ K ≤ 100,000)
이후 K개의 줄에 정수가 1개씩 주어진다. 정수는 0에서 1,000,000 사이의 값을 가지며, 정수가 "0" 일 경우에는 가장 최근에 쓴 수를 지우고, 아닐 경우 해당 수를 쓴다.
정수가 "0"일 경우에 지울 수 있는 수가 있음을 보장할 수 있다.
📣 출력
재민이가 최종적으로 적어 낸 수의 합을 출력한다. 최종적으로 적어낸 수의 합은 2^31 -1보다 작거나 같은 정수이다.
💎 문제 분석
간단한 스택 문제
💡 코드 구현
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));
int testCase = Integer.parseInt(bufferedReader.readLine());
Stack<Integer> stack = new Stack<>();
while (testCase-- > 0) {
int number = Integer.parseInt(bufferedReader.readLine());
if (number == 0) {
stack.pop();
continue;
}
stack.push(number);
}
System.out.println(stack.stream().mapToInt(i -> i).sum());
}
}
반응형
'알고리즘 > 백준' 카테고리의 다른 글
백준 1543 문서 검색 자바 풀이 (0) | 2023.06.06 |
---|---|
백준 11365 !밀비 급일 (자바 & 파이썬 풀이) (0) | 2023.01.19 |
백준 1966 프린터큐 (JAVA 자바 풀이) (0) | 2022.12.23 |
백준 11866 요세푸스 문제 0 (JAVA 자바 풀이) (0) | 2022.12.22 |
백준 10866 덱 (JAVA 자바 풀이) (0) | 2022.12.22 |