-
boj)1874 - 스택 수열PS/boj 2020. 9. 13. 23:41
import java.io.*; import java.util.Stack; public class boj_1874 { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringBuilder sb = new StringBuilder(); Stack<Integer> s = new Stack<>(); int n = Integer.parseInt(br.readLine()); // 1 ~ 100,000 int item = 0; // 스택에 오름차순으로 쌓일 수 while (n-- > 0) { int x = Integer.parseInt(br.readLine()); if (x > item) { // 입력받은수가 더 크면 while (item < x) { // x까지 넣은후에 s.push(++item); sb.append("+\n"); } s.pop(); // 출력 sb.append("-\n"); } else { // x가 item과 같거나 작을경우 boolean found = false; if (!s.isEmpty()) { // 스택이 비지 않았다면 int top = s.peek(); s.pop(); sb.append("-\n"); if (x == top) { found = true; } } if (!found) { // 스택의 상단값이 x보다 크면 불가능 System.out.println("NO"); return; } } } System.out.println(sb.toString()); } }
- 실패
- 돌대가리가 틀림없다는 생각만 든다.
'PS > boj' 카테고리의 다른 글
boj)1158 - 요세푸스 문제 (0) 2020.09.14 boj)1406 - 에디터 (0) 2020.09.14 boj)9012 - 괄호 (0) 2020.09.13 boj)9093 - 단어 뒤집기 (0) 2020.09.13 boj)10828 - 스택구현 (0) 2020.09.13