반응형
250x250
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 연결리스트 중복제거
- Queue
- 수학
- 조합론
- KMP알고리즘
- 스택
- LeetCode Remove Duplicates from Sorted List in c
- 유클리드 호제법
- 연결리스트 정렬
- 큐
- 시뮬레이션
- 사칙연산
- 정렬
- 이분 탐색
- 큰 수 연산
- 정수론
- 다이나믹 프로그래밍
- 해시를 사용한 집합과 맵
- 브루트포스 알고리즘
- LeetCode 83 c언어
- 별 찍기
- 재귀
- 문자열제곱
- 문자열
- 자료 구조
- 실패함수
- 프로그래머스
- 임의 정밀도 / 큰 수 연산
- LeetCode 83번
- 구현
Archives
- Today
- Total
hahn
단계별로 풀어보기(스택 - 균형잡힌 세상) 본문
728x90
반응형
http://boj.kr/c25d78d4142949a489f28beafd55abd1
더보기
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.Stack;
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));
String str = "";
char cr;
Stack<Character> st;
while(true) {
st = new Stack<Character>();
str = br.readLine();
if(str.equals(".")) break;
for(int i = 0; i < str.length(); i++) {
cr = str.charAt(i);
if(cr == '(' || cr == '[') {
st.add(cr);
}
if(cr == ')') if(st.empty() || st.pop() != '(') {
bw.write("no");
break;
}
if(cr == ']') if(st.empty() || st.pop() != '[') {
bw.write("no");
break;
}
if(i == str.length() - 1) {
bw.write(st.empty() ? "yes" : "no");
}
}
bw.newLine();
}
bw.close();
}
}
여는 괄호를 만나면 스택에 넣어주고
닫는 괄호를 만나면 스택을 pop 하여 짝이 맞나 확인했다
아니면 no출력 전부 통과하면 yes 출력
여는 괄호만 있을 때 문제 없이 통과하므로
예외 생각해서 empty확인
728x90
반응형
'코딩테스트 연습 > 백준(JAVA)' 카테고리의 다른 글
단계별로 풀어보기(정렬 - 수 정렬하기 3) (0) | 2021.09.18 |
---|---|
단계별로 풀어보기(스택 - 제로) (0) | 2021.09.18 |
단계별로 풀어보기(이분 탐색 - 나무 자르기) (0) | 2021.09.18 |
단계별로 풀어보기(정렬 - 통계학) (0) | 2021.09.18 |
단계별로 풀어보기(큐, 덱 - 프린터 큐) (0) | 2021.09.18 |