728x90
https://www.acmicpc.net/problem/4949
1. toCharArray & BufferedReader 사용
package BKD_0x8_Stack_Application;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Stack;
public class BOJ_4949_toCharArray {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
Stack<Character> bracket = new Stack<>();
while(true){
String sentence = br.readLine();
if( sentence.equals(".")) break;
for(char c : sentence.toCharArray()){
switch (c){
case '(':
bracket.push(c);
break;
case ')':
if(!bracket.isEmpty()&&bracket.peek()=='(') bracket.pop();
else bracket.push(c);
break;
case '[':
bracket.push(c);
break;
case ']':
if(!bracket.isEmpty()&&bracket.peek()=='[') bracket.pop();
else bracket.push(c);
break;
}
}
if (!bracket.isEmpty()) System.out.println("no");
else System.out.println("yes");
bracket.clear();
}
}
}
2. split & BufferedReader 사용
package BKD_0x8_Stack_Application;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Stack;
public class BOJ_4949_split {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
Stack<String> bracket = new Stack<>();
while(true){
String sentence = br.readLine();
if( sentence.equals(".")) break;
String[] splited = sentence.split("");
for(String str : splited){
switch (str){
case "(":
bracket.push(str);
break;
case ")":
if(!bracket.isEmpty()&&bracket.peek().equals("(")) bracket.pop();
else bracket.push(str);
break;
case "[":
bracket.push(str);
break;
case "]":
if(!bracket.isEmpty()&&bracket.peek().equals("[")) bracket.pop();
else bracket.push(str);
break;
}
}
if (!bracket.isEmpty()) System.out.println("no");
else System.out.println("yes");
bracket.clear();
}
}
}
결과
위에가 split을 사용하여 String 배열로 진행한 결과
아래가 toCharArray를 사용하여 char 배열로 진행한 결과이다.
728x90
'🐣 알고리즘 삐약 > 💻 백준 삐약' 카테고리의 다른 글
48 삐약 : 백준 9012| 괄호 [바킹독 문제 풀이|Stack|JAVA] (0) | 2023.12.20 |
---|---|
47 삐약 : 백준 3986 | 좋은 단어 | [바킹독 문제 풀이|Stack|JAVA] (0) | 2023.12.20 |
45 삐약 : 백준 10866| 덱 [바킹독 문제 풀이|Deque|JAVA] (0) | 2023.11.17 |
44 삐약 : 백준 6198| 옥상정원 꾸미기 [바킹독 문제 풀이|스택|JAVA] (0) | 2023.11.16 |
43 삐약 : 백준 2493| 탑 [바킹독 문제 풀이|스택|JAVA] (0) | 2023.10.25 |