[백준] 10773번 제로 / Java, Python

jini_eun·2021년 5월 3일
0

백준

목록 보기
95/140

Baekjoon Online Judge

algorithm practice


- 단계별 문제풀기


18. 스택

스택을 구현하고 사용해 봅시다.




Java / Python


2. 제로

10773번

가장 최근에 쓴 수를 지우는 문제



이번 문제는 자바의 경우, 스택 클래스를 이용, 파이썬은 리스트를 이용해 간단하게 작성했습니다. 0을 입력받으면 저장 받은 top 원소를 지우고 스택에 있는 수의 합을 출력하는 문제입니다.



  • Java

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
import java.util.Stack;

public class Main {
 
	public static void main(String[] args) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		
		Stack<Integer> stack = new Stack<Integer>();
		
		int K = Integer.parseInt(br.readLine());
		
		for(int i = 0; i < K; i++) {
			int num = Integer.parseInt(br.readLine());	
			
			if(num == 0) {	// 0이면 스택에 저장된 top 원소를 지우기
				stack.pop();
			}
			else {
				stack.push(num);
			}
		}
		int sum = 0;
		
		for(int i : stack) {
			sum += i;
  		}
 
		System.out.println(sum);		
	}
}




  • Python

import sys
K = int(sys.stdin.readline())
stack = []
for _ in range(K):
    num = int(sys.stdin.readline())
    if num == 0:
        stack.pop()
    else:
        stack.append(num)
print(sum(stack))





profile
병아리 개발자

관심 있을 만한 포스트

0개의 댓글