Algorithm/Baekjoon
λ°±μ€ 1874 μ€ν μμ΄
do-oni
2021. 11. 30. 00:52
π»Q
1874λ²: μ€ν μμ΄
1λΆν° nκΉμ§μ μμ λν΄ μ°¨λ‘λ‘ [push, push, push, push, pop, pop, push, push, pop, push, push, pop, pop, pop, pop, pop] μ°μ°μ μννλ©΄ μμ΄ [4, 3, 6, 8, 7, 5, 2, 1]μ μ»μ μ μλ€.
www.acmicpc.net
π‘A
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Stack; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringBuilder sb = new StringBuilder(); Stack<Integer> stack = new Stack<>(); int n = Integer.parseInt(br.readLine()); int start = 0; //μ€λ¦μ°¨μ μμ΄μ μν λ³μ while(n-- > 0) { int value = Integer.parseInt(br.readLine()); if(value > start) { //1λΆν° valueκ°κΉμ§ μ€νμ μ μ₯ for(int i = start + 1; i <= value; i++) { stack.push(i); sb.append('+').append('\n'); //pushν λ + μ μ₯ } start = value; //λ€μ push ν λμ μ€λ¦μ°¨μμ μ μ§νκΈ° μν λ³μ μ΄κΈ°ν } //맨 μμ κ°μ΄ λ€μ valueκ°κ³Ό κ°μ§ μμ κ²½μ° else if(stack.peek() != value) { System.out.println("NO"); System.exit(0); } stack.pop(); sb.append('-').append('\n'); //popν λ - μ μ₯ } System.out.println(sb); } }β