Python 틀린 코드
import sys
while True:
sentence = sys.stdin.readline().rstrip()
if sentence == ".":
break
answer = True
stack = []
for s in sentence:
if s == "(" or s == "[":
stack.append(s)
elif s == ")":
if len(stack) == 0:
answer = False
break
elif stack[-1] == "(":
stack.pop()
else:
answer = False
break
elif s == "]":
if len(stack) == 0:
answer = False
break
elif stack[-1] == "[":
stack.pop()
else:
answer = False
break
if answer and not stack:
print("yes")
else:
print("no")
Python 정답 코드
import sys
sentence = []
word = []
h = 0
res = []
while True:
count = [0] * 4
command = sys.stdin.readline().rstrip()
if command == ".":
break
word.append(command.split())
for k in range(len(word[h])):
alpha = word[h][k]
#print("alpha : ", alpha)
for n in range(len(alpha)):
#print(alpha[n])
if alpha[n] == '(':
count[0] += 1
elif alpha[n] == ')':
count[1] += 1
elif alpha[n] == '[':
count[2] += 1
elif alpha[n] == ']':
count[3] += 1
print(count[0], " ", count[1], " ", count[2], " ", count[3])
h += 1
if count[0] != count[1] or count[2] != count[3]:
res.append("no")
else:
res.append("yes")
for i in range(len(res)):
print(res[i])
JAVA
package BaekJoon;
import java.io.*;
import java.util.Stack;
import java.util.Scanner;
// 10828번 스택
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));
Scanner in = new Scanner(System.in);
Stack s = new Stack<>();
boolean ans = true;
while(true) {
s.clear();
String str = in.nextLine();
if(str.equals("."))
break;
for (int i = 0; i < str.length(); i++) {
char alpha = str.charAt(i);
if (alpha == '(' || alpha == '[') {
s.push(alpha);
}
else if (alpha == ')' || alpha == ']') {
if (s.isEmpty() || (s.peek() == '(' && alpha == ']') || (s.peek() == '[' && alpha == ')')) {
s.push(alpha);
break;
}
s.pop();
}
}
if (!s.isEmpty())
System.out.println("no");
else
System.out.println("yes");
}
}
}
'Python' 카테고리의 다른 글
BAEKJOON(백준) Stack - 10773번 PYTHON / JAVA CODE (0) | 2023.01.20 |
---|---|
BAEKJOON(백준) Stack - 10828번 PYTHON / JAVA CODE (0) | 2023.01.19 |