자료구조 - 제로 문제

Seok·2022년 1월 29일
0
post-thumbnail

문제풀이

이 문제는 Stack 클래스를 사용할 줄 알면 굉장히 쉽게 풀 수 있는 문제이다.

  1. 입력 받은 K 수 만큼 숫자를 입력 받는다.
  2. 입력 받은 숫자가 0이냐 아니냐 라는 조건에 따라 push를 해주고 pop을 해준다.
  3. 마지막 숫자를 입력받고 난 뒤의 스택의 모든 값의 합을 구해준다.

소스 코드

package data_structure;

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

public class stack_zero {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner in = new Scanner(System.in);
        Stack<Integer> stack = new Stack<>();
        int k = in.nextInt();
        int sum = 0;
        
        for(int i = 0; i<k; i++){
            int input = in.nextInt();
            
            if(input != 0){
            	stack.push(input);
            }
            else if(input == 0) {
            	stack.pop();

            }
         
            
        }
        Iterator<Integer> iter = stack.iterator();
        while(iter.hasNext()) {
        	sum += iter.next();
        }
        System.out.println(sum);
	}

}

정리

  • 이제 Stack을 이용하는 문제에 대해서는 어려움 없이 문제를 풀 수 있을 것 같다.
profile
네이티브 앱개발에 관심많은 주니어 개발자

0개의 댓글