1218. [S/W 문제해결 기본] 4일차 - 괄호 짝짓기 D4
[문제]
4 종류의 괄호문자들 '()', '[]', '{}', '<>' 로 이루어진 문자열이 주어진다.
이 문자열에 사용된 괄호들의 짝이 모두 맞는지 판별하는 프로그램을 작성한다.
예를 들어 아래와 같은 문자열은 유효하다고 판단할 수 있다.
아래와 같은 문자열은 유효하지 않은 문자열이다. 붉은색으로 표시된 괄호의 짝을 찾을 수 없기 때문이다.
아래 문자열은 열고 닫는 괄호의 개수는 유효하나 짝이 맞지 않는 괄호가 사용 되었기 때문에 유효하지 않다.
[입력]
각 테스트 케이스의 첫 번째 줄에는 테스트케이스의 길이가 주어지며, 바로 다음 줄에 테스트 케이스가 주어진다.
총 10개의 테스트케이스가 주어진다.
[출력]
#부호와 함께 테스트 케이스의 번호를 출력하고, 공백 문자 후 유효성 여부를 1 또는 0으로 표시한다 (1 - 유효함, 0 - 유효하지 않음).
입력181
(({<(({{[[[[<<[[(<[[{([{{{[<[[[{<(<[[{}[]{}{}[]]]><><...
298
{(({[({([{(<[([(([<({[{{[[({{[({([<{(<[[((<{{[([{<<[{(<({[<(...
...
(({<(({{[[[[<<[[(<[[{([{{{[<[[[{<(<[[{}[]{}{}[]]]><><...
298
{(({[({([{(<[([(([<({[{{[[({{[({([<{(<[[((<{{[([{<<[{(<({[<(...
...
출력#1 0
#2 0
...
#2 0
...
[코드]
import java.io.*;
import java.util.*;
public class Solution {
public static void main(String[] args) throws IOException{
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
for (int i = 1; i <= 10; i++) {
int a1=0;
int a2=0;
int b1=0;
int b2=0;
int c1=0;
int c2=0;
int d1=0;
int d2=0;
int N=Integer.parseInt(br.readLine());
String s=br.readLine();
for (int i2 = 0; i2 < s.length(); i2++) {
if(s.charAt(i2)=='('){
a1++;
}
else if(s.charAt(i2)==')'){
a2++;
}
else if(s.charAt(i2)=='['){
b1++;
}
else if(s.charAt(i2)==']'){
b2++;
}
else if(s.charAt(i2)=='{'){
c1++;
}
else if(s.charAt(i2)=='}'){
c2++;
}
else if(s.charAt(i2)=='<'){
d1++;
}
else if(s.charAt(i2)=='>'){
d2++;
}
}
if(a1==a2&&b1==b2&&c1==c2&&d1==d2) {
System.out.println("#"+i+" "+1);
}
else {
System.out.println("#"+i+" "+0);
}
}
br.close();
}
}'SWEA(SWExpertacAdemy)' 카테고리의 다른 글
| [SWEA] 1486. 장훈이의 높은 선반 D4 (자바) (1) | 2025.05.23 |
|---|---|
| [SWEA] 1222. [S/W 문제해결 기본] 6일차 - 계산기1 D4 (자바) (0) | 2025.05.23 |
| [SWEA] 22979. 문자열 옮기기 D3 (자바) (1) | 2025.05.22 |
| [SWEA] 9778. 카드 게임 D3 (자바) (1) | 2025.05.22 |
| 20551. 증가하는 사탕 수열 D3 (1) | 2025.05.21 |