JAVA
BAEKJOON(백준) Stack - 1874번 JAVA CODE
violetisme
2023. 1. 26. 19:41
실패한 코드
import java.io.*;
import java.util.Stack;
import java.util.Scanner;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
Scanner in = new Scanner(System.in);
Stack<Integer> s = new Stack<>();
Stack<Integer> number = new Stack<>();
int T = in.nextInt();
int[] arr = new int[T];
char[] ans = new char[100];
boolean res = true;
for (int i=T; i>0; i--)
number.push(i);
for (int i=0; i<T; i++)
arr[i] = in.nextInt();
int num = 0;
int h = 0;
int p_count = 0;
int m_count = 0;
s.push(0);
// while (true) {
while(true) {
if(s.peek() == arr[num] || number.size() == 0) {
if (s.peek() == 0)
s.pop();
else {
s.pop();
ans[h] = '-';
m_count += 1;
h+=1;
if (number.size() !=0)
num += 1;
}
}
else {
s.push(number.pop());
ans[h] = '+';
p_count += 1;
h+=1;
}
if (m_count >= p_count && m_count >= T)
break;
}
// if (s.size() == 0)
// break;
// }
/*
for (int i=0; i<s.size(); i++) {
System.out.print(s.get(i));
}
*/
for(int i=0; i<number.size(); i++)
System.out.println(number.get(i));
if (number.empty()) {
for(int i=0; i<ans.length; i++)
System.out.print(ans[i] + "\n");
}
else
System.out.println("No");
}
}