문제
https://www.acmicpc.net/problem/4949
4949번: 균형잡힌 세상
하나 또는 여러줄에 걸쳐서 문자열이 주어진다. 각 문자열은 영문 알파벳, 공백, 소괄호("( )") 대괄호("[ ]")등으로 이루어져 있으며, 길이는 100글자보다 작거나 같다. 각 줄은 마침표(".")로 끝난다
www.acmicpc.net
내가 작성한 코드
import java.io.*;
import java.util.Stack;
public class qor4949 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
while(true){
String input = br.readLine();
if(input.equals(".")){
break;
}
Stack<Character> st = new Stack<>();
boolean state = true;
String result = "";
for(int i = 0; i<input.length(); i++){
char word = input.charAt(i);
if(word == '(' || word == '['){
st.push(word);
}
else if(word == ')'){
if(st.empty() || st.peek() != '('){
result += "no";
break;
}
else{
st.pop();
}
}
else if(word == ']'){
if(st.empty() || st.peek() != '['){
result += "no";
break;
}
else{
st.pop();
}
}
}
if(result.equals("no")){
bw.write("no");
} else if (st.isEmpty()) {
bw.write("yes");
}
else{
bw.write("no");
}
bw.newLine();
}
bw.close();
}
}
'자바 > 백준' 카테고리의 다른 글
[백준 1929] 소수 구하기 (0) | 2023.01.26 |
---|---|
[백준 10773] 제로 (0) | 2023.01.05 |
[백준 10989] 수 정렬하기 3 (0) | 2022.12.01 |
[백준 2292] 벌집 (0) | 2022.12.01 |
[백준 15829] Hashing (0) | 2022.12.01 |