Algorithm/백준
백준 1874 (스택 수열) - Java
leecom116
2023. 12. 2. 19:37
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));
int n = Integer.parseInt(br.readLine());
// stack 안에 넣을 동적 요소
int start = 0;
StringBuilder sb = new StringBuilder();
Stack<Integer> stack = new Stack<>();
for(int i=0; i<n; i++) {
int num = Integer.parseInt(br.readLine());
// 현재 입력받은 수열 원소보다 작을 경우 push 연산 반복
while(start < num) {
stack.push(++start);
sb.append("+\n");
}
// stack의 제일 마지막 원소와 현재 수열 원소가 같을 경우 pop 연산
if(stack.pop() == num) {
sb.append("-\n");
} else {
// 수열이 만들어 질 수 없는 경우
System.out.println("NO");
return;
}
}
System.out.println(sb);
}
}