hahn

단계별로 풀어보기(스택 - 제로) 본문

코딩테스트 연습/백준(JAVA)

단계별로 풀어보기(스택 - 제로)

hahn 2021. 9. 18. 16:06
728x90
반응형

10773번: 제로 (acmicpc.net)

 

10773번: 제로

첫 번째 줄에 정수 K가 주어진다. (1 ≤ K ≤ 100,000) 이후 K개의 줄에 정수가 1개씩 주어진다. 정수는 0에서 1,000,000 사이의 값을 가지며, 정수가 "0" 일 경우에는 가장 최근에 쓴 수를 지우고, 아닐 경

www.acmicpc.net

http://boj.kr/d3f794b0d7a3405ea1d6bde6f9259634

 

공유 소스 보기

 

www.acmicpc.net

더보기
import java.util.Scanner;
import java.util.Stack;

class Main{
    
    public static void main(String[] args) {

		Scanner sc = new Scanner(System.in);
		
		int inputCount = sc.nextInt(),
			input,
			result = 0;
		
		Stack<Integer> st = new Stack<Integer>();
		
		for(int i = 0; i < inputCount; i++) {
			
			input = sc.nextInt();
			
			if(input == 0) {
				
				st.pop();
				
			}else {
				
				st.add(input);
				
			}
			
		}
		
		while(!st.empty()) {
			
			result += st.pop();
			
		}
		
		System.out.println(result);
		
	}
    
}

 

스택을 이용해서 합계를 구했다.

 

0이 입력으로 들어오면 pop 하고

 

아니면 add

 

스택 연산 모두 끝나고 모두 꺼내서 합계 구하면 끝

728x90
반응형