728x90
반응형
[백준 1874] 스택 수열
문제 출처 : https://www.acmicpc.net/problem/1874
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 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 | import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.Stack; public class Problem1874 { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int num = Integer.parseInt(br.readLine()); int[] arr = new int[num]; // 입력 수 저장할 배열 생성 Stack<Integer> stack = new Stack<>(); // 스택 생성 ArrayList<String> str = new ArrayList<String>(); for (int i = 0; i < num; i++) { arr[i] = Integer.parseInt(br.readLine()); //입력할 수 arr에 저장 } int cnt = 1; // 증가시킬 수 for (int i = 0; i < num; i++) { while(cnt <= arr[i]) { //arr[i]보다 cnt가 같거나 작을때 push stack.push(cnt++); str.add("+"); } if(stack.peek() == arr[i]) { //같으면 pop str.add("-"); stack.pop(); } else { System.out.println("NO"); //아니면 NO return; } } for (int i = 0; i < str.size(); i++) { System.out.println(str.get(i)); } br.close(); } } | cs |
728x90
반응형
'Algorithm > 백준(BOJ)' 카테고리의 다른 글
[백준 2468] 안전 영역 (0) | 2019.01.29 |
---|---|
[백준 2667] 단지번호 붙이기 (0) | 2019.01.29 |
[백준 1057] 토너먼트 (0) | 2019.01.23 |
[백준 8979] 올림픽 (0) | 2019.01.20 |
[백준 10819] 차이를 최대로 (0) | 2019.01.20 |