StringBuilder와의 연계도 확인
bf.append();
-나 + 부호는 "-\n" 으로 구분
저장 후 끝에 공백도 같이 저장됨
bf.toString();
import java.util.Scanner;
import java.util.Stack;
public class Main {
public static void main(String[] args) {
// ISC - L1
Scanner sc = new Scanner(System.in);
int N = sc.nextInt();
// L2 ~
int[] A = new int[N];
for (int i = 0; i < N; i++) {
A[i] = sc.nextInt();
}
Stack<Integer> stack = new Stack<>();
StringBuffer marker = new StringBuffer();
int num = 1;
boolean possibility = true;
for (int i = 0; i < A.length; i++) {
if (num <= A[i]) {
while (num <= A[i]) {
stack.push(num++);
marker.append("+\n");
}
stack.pop();
marker.append("-\n");
} else {
int n = stack.pop();
if (n > A[i]) {
System.out.println("NO");
possibility = false;
break;
} else {
marker.append("-\n");
}
}
}
if (possibility)
System.out.println(marker.toString());
}
}
'코테 기초' 카테고리의 다른 글
if ~ else : boolean 스위치를 만들어두고 사용 (0) | 2022.12.06 |
---|---|
marker (0) | 2022.12.06 |
숫자 타입의 경우, value를 바로 사용하거나, 추가 변수에서 그 value에 부합하면 check하는 경우 (0) | 2022.12.06 |
DFS와 stack 등에서 인식 공간 (0) | 2022.12.06 |
Stack & Queue(+ Deque) (0) | 2022.12.06 |