알고리즘/Java

[SWEA] 8931 제로

세진짱 2020. 1. 21. 12:24

 

이 문제는 스택의 개념으로 풀면 된다

0이 나오면 pop 아니면 push다

 

물론 진짜 스택을 만들 필요는 없다 배열을 이용해서 스택처럼 쓸 수 있다!

 

소스코드

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
package SWEA;
 
import java.util.Scanner;
 
public class Solution_d3_8931_제로 {
 
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Scanner sc = new Scanner(System.in);
        int T = sc.nextInt();
        for(int test_case=1;test_case<=T;test_case++) {
            int K = sc.nextInt();
            int[] arr = new int[K+1];
            
            int pos=0;
            for(int i=0;i<K;i++) {
                int num = sc.nextInt();
                if(num==0) pos--;
                else arr[++pos] = num;
            }
            int ans=0;
            for(int i=1;i<=pos;i++) ans+=arr[i];
            System.out.println("#"+test_case+" "+ans);
        }
    }    
 
}