첫번째 풀었을 때
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.util.Scanner;
import java.util.Stack;
public class Solution {
public static void main(String[] args) throws FileNotFoundException {
//System.setIn(new FileInputStream("input/괄호짝짓기.txt"));
Scanner sc = new Scanner(System.in);
int T = 10;
for (int tc = 1; tc <= T; tc++) {
Stack<Character> stack = new Stack<>();//스택도 초기화 시켜줘야 한다~!~!!~!~~!~!~!~!!~
int N = sc.nextInt();
String str = sc.next();
int result =0;
for (int i = 0; i < str.length(); i++) {
char c = str.charAt(i);
if(c==')' && !stack.isEmpty()&&stack.peek()=='(') {
stack.pop();
}
else if(c==']' && !stack.isEmpty()&&stack.peek()=='[') {
stack.pop();
}
else if(c=='}' && !stack.isEmpty()&&stack.peek()=='{') {
stack.pop();
}
else if(c=='>' && !stack.isEmpty()&&stack.peek()=='<') {
stack.pop();
}
else
stack.push(c);
}
if(stack.isEmpty()) result = 1;
System.out.printf("#%d %d",tc,result);
System.out.println();
}
}
}
if문마다 isEmpty를 넣었었다 그래서 코드가 좀 길다
두번째 풀었을 때
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.util.Scanner;
import java.util.Stack;
public class Gualho {
public static void main(String[] args) throws FileNotFoundException {
System.setIn(new FileInputStream("input/괄호짝짓기.txt"));
Scanner sc = new Scanner(System.in);
for (int tc = 1; tc <=10 ; tc++) {
int res=0;
int N = sc.nextInt();
String str = sc.next();
Stack <Character> stk = new Stack<Character>();
for (int i = 0; i < str.length(); i++) {
if(!stk.isEmpty()) { //스택이 비지 않았음
if(str.charAt(i)==')' && stk.peek()=='(') {
stk.pop();
}
else if(str.charAt(i)=='}' && stk.peek()=='{') {
stk.pop();
}
else if(str.charAt(i)==']' && stk.peek()=='[') {
stk.pop();
}
else if(str.charAt(i)=='>' && stk.peek()=='<') {
stk.pop();
}
else stk.push(str.charAt(i));
}
else {
stk.push(str.charAt(i));
}
}
if (stk.isEmpty()) {
res = 1;
}
System.out.printf("#%d %d\n",tc,res);
}
}
}
보기 편하게 비었을 경우에 push 비지 않았으면 그때부터 비교를 시작한다.
'Problem Solving > SWEA' 카테고리의 다른 글
SWEA- 5432 쇠막대기 자르기 (0) | 2021.02.06 |
---|---|
SWEA- 5215 햄버거 다이어트 (0) | 2021.02.06 |
SWEA-1247 최적 경로 (0) | 2021.02.06 |
SWEA-1954 달팽이 숫자 (0) | 2021.02.06 |
SWEA-1210 Ladder 1 (0) | 2021.02.06 |
댓글