티스토리 뷰
728x90
문제
SW Expert Academy
SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!
swexpertacademy.com
풀이 및 소스코드
불필요한 반복을 위해서 닫고 열리는 괄호를 각각 맞는 위치에 String을 하나씩 만들어주었다.
만약에 open에 해당하는 괄호가 나오면 스택에 push 해주었고,
close에 해당하는 괄호가 나오면 스택에서 pop해주어 맞는 괄호인지 확인해주었다.
확인하는 방법은
스택에서 pop한 open 괄호의 인덱스와 현재의 close 괄호의 인덱스가 맞다면 올바른 괄호고,
다르다면 올바르지 않은 괄호이므로 flg = 0; 해서 break 해주면 된다.
import java.io.*;
import java.util.Stack;
public class Solution {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
String open = "([{<";
String close = ")]}>";
for(int t=1;t<=10;t++) {
Stack<Character> stack = new Stack<>();
int n=Integer.parseInt(br.readLine());
String tc = br.readLine();
int flg = 1;
for(int i=0;i<n;i++) {
if(open.contains(Character.toString(tc.charAt(i)))) {
stack.push(tc.charAt(i));
}
else if(close.contains(Character.toString(tc.charAt(i)))){
if(stack.empty()) {
flg = 0;
break;
}
int idx = close.indexOf(Character.toString(tc.charAt(i)));
char tmp = stack.pop(); //비어있지 않으므로 꺼낼 수 있다.
if (tmp != open.charAt(idx)) {
flg = 0;
break;
}
}
}
if(!stack.empty())
flg = 0;
sb.append("#"+t+" "+flg+"\n");
}
System.out.println(sb);
}
}반응형
'Coding - Algo > Java' 카테고리의 다른 글
| [SWEA] 암호생성기 (Java 자바) (0) | 2021.08.05 |
|---|---|
| [백준] 2440번:별 찍기-3 (Java 자바) (0) | 2021.08.05 |
| [백준] 4949번:균형잡힌 세상 (Python 파이썬) (0) | 2021.08.04 |
| [SWEA] 2001번:파리퇴치 (Java 자바) (0) | 2021.08.04 |
| [SWEA] 1873번:상호의 배틀필드 (Java 자바) (0) | 2021.08.04 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 파이썬 풀이
- swea 1240
- 백준
- 메뉴리뉴얼 풀이
- 프로그래머스 파이썬
- 1240 자바
- 백준 17144
- yoloV3
- 더 맵게
- 우분투
- ubuntu
- swea 4070 타일링
- 백준파이썬
- 3996 자바
- swea 1240 자바
- 파이썬
- 삼성청년SW아카데미
- swea 타일링 자바
- union-find
- 1699 자바
- poker swea
- 프로그래머스 더 맵게
- 타일링 자바
- 백준 dp 문제
- 백준 풀이
- SSAFY
- swea 타일링
- 프로그래머스
- 프로그래머스 자바
- SWEA
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 | 31 |
글 보관함