T_era
[JAVA] 백준 4949 : 균형잡힌세상 본문
자꾸 틀렸데서 거의 1시간넘게 왜틀렸지하면서 고민했는데
출력을 대문자로해서 틀리고있었다...
소문자로 바꾸니 바로 정답 그냥 억울하다
import java.io.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
String str = "";
while (!((str = br.readLine()).equals("."))) {
NodeManager<Character> nodeManager = new NodeManager<>();
boolean flag = false;
for (char c : str.toCharArray()) {
switch (c) {
case '(':
case '[': {
nodeManager.push(new StackNode<>(c));
break;
}
case ')': {
Character item = nodeManager.pop();
if(item == null){
flag = true;
}else if(item == '['){
flag = true;
}
break;
}
case ']': {
Character item = nodeManager.pop();
if(item == null){
flag = true;
}else if(item == '('){
flag = true;
}
break;
}
default: {
}
}
if(flag) break;
}
if(flag){
bw.write("no" + "\n");
}else if(nodeManager.isEmpty()){
bw.write("yes" + "\n");
}else if(!nodeManager.isEmpty()){
bw.write("no" + "\n");
}
}
br.close();
bw.flush();
bw.close();
}
}
class StackNode<T> {
StackNode<T> underNode;
T value;
public StackNode(T value) {
this.value = value;
underNode = null;
}
public T getValue() {
return value;
}
public StackNode<T> getUnderNode() {
return underNode;
}
public void setUnderNode(StackNode<T> underNode) {
this.underNode = underNode;
}
}
class NodeManager<T> {
int size;
StackNode<T> top;
public NodeManager() {
size = 0;
top = null;
}
public int getSize() {
return size;
}
public boolean isEmpty() {
return top == null;
}
public void push(StackNode<T> node) {
if (isEmpty()) {
top = node;
} else {
node.setUnderNode(top);
top = node;
}
size++;
}
public T pop() {
StackNode<T> node = top;
if (isEmpty()) return null;
else if (top.getUnderNode() == null) {
top = null;
} else {
top = top.getUnderNode();
}
size--;
return node.getValue();
}
}
'Programing > BaekJoon' 카테고리의 다른 글
| [JAVA] 백준 2750 : 수 정렬하기 (0) | 2025.04.02 |
|---|---|
| [JAVA] 백준 17298 : 오큰수 (0) | 2025.04.01 |
| [JAVA] 백준 9012 : 괄호 (0) | 2025.04.01 |
| [JAVA] 백준 1874 : 스택 수열 (0) | 2025.03.31 |
| [JAVA] 백준 10828 : 스택 (0) | 2025.03.31 |