🔗 문제 내용
https://www.acmicpc.net/problem/10773
10773번: 제로
첫 번째 줄에 정수 K가 주어진다. (1 ≤ K ≤ 100,000) 이후 K개의 줄에 정수가 1개씩 주어진다. 정수는 0에서 1,000,000 사이의 값을 가지며, 정수가 "0" 일 경우에는 가장 최근에 쓴 수를 지우고, 아닐 경
www.acmicpc.net
🌱 문제 풀이 방법
누가 봐도 스택을 사용하는 문제라 스택을 사용해서 풀었다.
스택 문제가 제일 재미있다.
🤔 공부가 필요한 부분
스택 사용을 찾아보지 않고 바로 가능할 정도로 공부하기
💻 코드
import java.util.Scanner;
import java.util.Stack;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int T = sc.nextInt();
Stack<Integer> stack = new Stack<>();
int answer = 0;
for (int i = 0; i < T; i++) {
int num = sc.nextInt();
if (num == 0) {
stack.pop();
} else {
stack.push(num);
}
}
int size = stack.size();
for (int r = 0; r < size; r++) {
answer += stack.pop();
}
System.out.println(answer);
sc.close();
}
}
'알고리즘 > 문제풀이' 카테고리의 다른 글
[Java] 백준 14502 : 연구소 (0) | 2022.04.10 |
---|---|
[Java] 백준 10814 : 나이순 정렬 (0) | 2021.12.17 |
[Java] 백준 7568 : 덩치 (0) | 2021.12.15 |
[Java] 백준 9012 : 괄호 (0) | 2021.12.15 |
[Java] 백준 4949 : 균형잡힌 세상 (0) | 2021.12.15 |
댓글