문제 - 1218.괄호 짝짓기(D4)
괄호의 짝을 맞춰주는 것을 뺀다면 어려운 문제가 아니었다.
replace 함수를 쓰면 간단하게 바뀌는 문제였다.
input = input.replace("()", "").replace("[]", "").replace("<>", "").replace("{}", "");
순서는 이와 같다. 기존의 문자열에서 ()를 없앤 문자열에서 []를 없애고, []까지 없앤 문자열에서 <>를 없애고, <>까진 없앤 문자열에서 {}까지 없앤 것을 input에 넣어준 것이다.
([<{}>])면 처음에는 {} 하나만 없어지고, 모든 괄호를 없애려면 while문이 4번 돌아가지만 {<[()]>} 는 한번에 다 없어진다.
import java.util.Scanner;
import java.io.FileInputStream;
class Solution
{
public static void main(String args[]) throws Exception
{
Scanner sc = new Scanner(System.in);
for(int i=1; i<=10; i++) {
int n = sc.nextInt();
String input = sc.next();
while(n/2>0) {
if(input.length() == 0) break;
input = input.replace("()", "").replace("[]", "").replace("<>", "").replace("{}", "");
n--;
}
if(input.length()==0)
System.out.println("#"+i+" "+1);
else
System.out.println("#"+i+" "+0);
}
}
}