목차

예제

첫 째 줄에 n이 주어지면
둘째 줄부터 주어진 1 이상 n 이하의 숫자가 주어진다.
스택을 이용해 입력된 수열을 만들려면 어떤 연산을 해야 하는지
push는 +로, pop은 -로 표현하도록 한다.
import java.io.*;
import java.util.*;
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());
int[] arr = new int[n];
Stack<Integer> st = new Stack<>();
StringBuilder sb = new StringBuilder();
for (int i = 0; i < n; i++) {
arr[i] = Integer.parseInt(br.readLine());
}
int cur = 1; // 스택에 넣을 숫자
for (int i = 0; i < n; i++) {
int num = arr[i];
while (cur <= num) {
st.push(cur);
cur++;
sb.append("+\n");
}
if (st.peek() == num) {
st.pop();
sb.append("-\n");
} else {
System.out.println("NO");
return;
}
}
System.out.println(sb.toString());
}
}
arr에 n개의 숫자들을 차례대로 넣는다.
cur부터 num까지 숫자를 stack에 push하고,
stack의 peek이 num과 같으면 pop하고 같지 않으면 "NO"를 출력한다.
'Languages > Java' 카테고리의 다른 글
[BOJ 길라잡이/Java] 10일차 #1158 요세푸스 문제 (0) | 2025.03.23 |
---|---|
[BOJ 길라잡이/Java] 11일차 #1966 프린터 큐 (0) | 2025.03.23 |
[BOJ 길라잡이/Java] 8일차 #9012 괄호 (0) | 2025.03.19 |
[BOJ 길라잡이/Java] 8일차 #10816 숫자 카드 2 (0) | 2025.03.18 |
[BOJ 길라잡이/Java] 8일차 #10867 중복 빼고 정렬하기 (0) | 2025.03.18 |

예제

첫 째 줄에 n이 주어지면
둘째 줄부터 주어진 1 이상 n 이하의 숫자가 주어진다.
스택을 이용해 입력된 수열을 만들려면 어떤 연산을 해야 하는지
push는 +로, pop은 -로 표현하도록 한다.
import java.io.*;
import java.util.*;
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());
int[] arr = new int[n];
Stack<Integer> st = new Stack<>();
StringBuilder sb = new StringBuilder();
for (int i = 0; i < n; i++) {
arr[i] = Integer.parseInt(br.readLine());
}
int cur = 1; // 스택에 넣을 숫자
for (int i = 0; i < n; i++) {
int num = arr[i];
while (cur <= num) {
st.push(cur);
cur++;
sb.append("+\n");
}
if (st.peek() == num) {
st.pop();
sb.append("-\n");
} else {
System.out.println("NO");
return;
}
}
System.out.println(sb.toString());
}
}
arr에 n개의 숫자들을 차례대로 넣는다.
cur부터 num까지 숫자를 stack에 push하고,
stack의 peek이 num과 같으면 pop하고 같지 않으면 "NO"를 출력한다.
'Languages > Java' 카테고리의 다른 글
[BOJ 길라잡이/Java] 10일차 #1158 요세푸스 문제 (0) | 2025.03.23 |
---|---|
[BOJ 길라잡이/Java] 11일차 #1966 프린터 큐 (0) | 2025.03.23 |
[BOJ 길라잡이/Java] 8일차 #9012 괄호 (0) | 2025.03.19 |
[BOJ 길라잡이/Java] 8일차 #10816 숫자 카드 2 (0) | 2025.03.18 |
[BOJ 길라잡이/Java] 8일차 #10867 중복 빼고 정렬하기 (0) | 2025.03.18 |