본문 바로가기

코딩테스트/백준

[백준/10773] 제로 - 자바

제가 풀어본 문제를 올리는 것으로 코드가 전혀 완벽하지 않습니다.

태클 걸어주세요.

 

문제

숫자를 저장하다가 0이나오면 전에 나왔던 수를 지워주면 되는 간단한 문제입니다.

코드

import java.util.Scanner;
import java.util.Stack;

public class Q10773 {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		
		int K = sc.nextInt();
		Stack<Integer> stack = new Stack<>();
		int x;
		
		for(int i=0;i<K;i++) {
			x = sc.nextInt();
			if(x == 0) {	//0이 나오면 pop으로 값 꺼내서 없애기
				stack.pop();
			}else {
				stack.add(x);	//값넣기
			}
		}
		int sum=0;
		
		while(!stack.isEmpty()) {	//stack이 비게 될 때까지
			sum+=stack.pop();
		}
		System.out.println(sum);

	}

}

코드설명

코드 확인

 

끝!!