본문 바로가기

백준 문제풀기/JAVA

[백준 10773 JAVA 자바] 제로

이 문제의 핵심은

0을 외쳐서, 가장 최근에 재민이가 쓴 수를 지우게 시킨다

입니다

 

마치 스택의 pop을 연상시키는 문제네요

 

코드입니다

 

import java.util.Scanner;

public class Main {
	
	public static int[] stack;
	public static int size = 0;
 
 
	public static void main(String[] args) {
 
		Scanner scan = new Scanner(System.in);
		
		int N = scan.nextInt();
 
		stack = new int[N];
		
		for(int i = 0; i < N; i++) {
			int flag = scan.nextInt();
 
			switch (flag) {   
			case 0:
				pop();
				break;                
			default :
				push(flag);
				break;
			}
		}
		
		int sum=0;
		
		for(int i=0; i<N; i++) {
			sum += stack[i];
		}
		System.out.println(sum);
	}
 
	public static void push(int item) {
		stack[size] = item;
		size++;
	}
    
	public static void pop() {
		if(size == 0) {
		}else {
			stack[size - 1] = 0;
			size--;
		}
	}
}

push를 이용해 입력하고

pop을 이용해 삭제 하는

stack의 기능을 구현했습니다