본문 바로가기
알고리즘/자료구조

올바른 괄호

by e-pd 2020. 8. 6.

https://programmers.co.kr/learn/courses/30/lessons/12909

 

코딩테스트 연습 - 올바른 괄호

괄호가 바르게 짝지어졌다는 것은 '(' 문자로 열렸으면 반드시 짝지어서 ')' 문자로 닫혀야 한다는 뜻입니다. 예를 들어 ()() 또는 (())() 는 올바른 괄호입니다. )()( 또는 (()( 는 올바르지 않은 괄호�

programmers.co.kr

문자를 담을 Character stack을 선언한다.

풀이 입력받은 문자에서 (를 발견하면 push

발견하지 못했다면 pop

 

예외케이스로 처음부터 ( 가 포함되지않는 케이스도 생각해본다

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
import java.util.Stack;
import java.util.EmptyStackException;
 
class Solution {
    boolean solution(String s) {
        Stack<Character> stack = new Stack<>();
        for (int i = 0; i < s.length(); i++) {
            if (s.charAt(i) == '(') {
                stack.push('(');
            } else {
                if (stack.isEmpty()) {
                    return false;
                }
 
                stack.pop();
            }
        }
        return stack.isEmpty();
    }
}
cs

 

'알고리즘 > 자료구조' 카테고리의 다른 글

2차원 Array, List로 변경하기  (0) 2021.03.10
크레인 인형뽑기 게임  (0) 2020.09.09
네트워크  (0) 2020.09.06