https://school.programmers.co.kr/learn/courses/30/lessons/12909?language=java
문제 설명
괄호가 바르게 짝지어짐: '('문자로 열렸으면 반드시 ')' 문자로 닫혀야 함.
예를 들어
()()
or (())()
: 올바른 괄호)()(
or (()(
: 올바르지 않은 괄호), (로만 이뤄진 문자열 s가 주어질때, s가 올바른 괄호면 true를 return, 아니라면 false를 반환.
풀이
전형적인 스택 문제.
정답코드
import java.util.*;
class Solution {
boolean solution(String s) {
boolean answer = true;
Stack<Character> stack = new Stack<>();
for(char c: s.toCharArray()){
if(c=='('){
stack.push(c);
}
else if(stack.isEmpty()){
return false;
}
else{
stack.pop();
}
}
if(stack.isEmpty()){
return true;
}else{
return false;
}
}
}