Python Code
import sys
#testcase 입력
k = sys.stdin.readline()
k = int(k)
#스택
stack = []
#0이면 pop하고, 아니면 append
for i in range(k):
n = sys.stdin.readline()
n = int(n)
if n == 0:
stack.pop()
else:
stack.append(n)
sum = 0
#스택 안에 남아있는 숫자들 전부 합하기
for i in range(len(stack)):
sum += int(stack.pop())
print(sum)
JAVA Code
package BaekJoon;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
import java.util.*;
import java.io.*;
import java.util.ArrayList;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
char[] sp;
int N = Integer.parseInt(br.readLine());
int num;
ArrayList<Integer> stack = new ArrayList<Integer>();
for (int i=0; i<N; i++) {
num = Integer.parseInt(br.readLine());
if (num == 0)
stack.remove(stack.size()-1);
else
stack.add(num);
}
int sum = 0;
for(int i=0; i<stack.size(); i++)
sum += stack.get(i);
System.out.println(sum);
}
}
'Python' 카테고리의 다른 글
BAEKJOON(백준) Stack - 4949번 PYTHON / JAVA CODE (0) | 2023.01.19 |
---|---|
BAEKJOON(백준) Stack - 10828번 PYTHON / JAVA CODE (0) | 2023.01.19 |