✔️ 내가 푼 거 다 풀지 못했다.
import java.util.*;
public class Main {
public static String solution(String input){
String answer ="";
Queue<Character> q = new LinkedList<>();
char[] arr = input.toCharArray();
for(int i=0;i<arr.length;i++) {
q.offer(arr[i]);
}
while() {
char first =q.poll();
if(first !='(') q.offer(first);
else {
char second =q.poll();
if(second != ')') q.offer(second);
}
}
return answer;
}
public static void main(String[] args){
Scanner kb = new Scanner(System.in);
String input = kb.next();
System.out.println(solution(input));
}
}
✔️ 강의 30% 듣고 힌트 얻음 -> stack을 이용한다.
```java
import java.util.*;
public class Main {
public static String solution(String input){
Stack<Character> st = new Stack<>();
for(char x : input.toCharArray()) {
if(x=='(') st.push(x);
if(x==')') {
if(st.isEmpty()) return "NO";
else st.pop();
}
}
return "YES";
}
public static void main(String[] args){
Scanner kb = new Scanner(System.in);
String input = kb.next();
System.out.println(solution(input));
}
}
(넣고 )만나면 stact에 쌓여있는 ( 빼기
-push
-pop
-isEmpty
💡괄호문제는 십중팔구 -> Stack
✔️강의 다 보고
import java.util.*;
public class Main {
public static String solution(String input){
Stack<Character> st = new Stack<>();
for(char x : input.toCharArray()) {
if(x=='(') st.push(x);
if(x==')') {
if(st.isEmpty()) return "NO";
else st.pop();
}
}
if(!st.isEmpty())return "NO";
else return"YES";
}
public static void main(String[] args){
Scanner kb = new Scanner(System.in);
String input = kb.next();
System.out.println(solution(input));
}
}