코드
import java.util.Stack;
class Solution {
boolean solution(String s) {
boolean answer = true;
Stack<Character> stack = new Stack<Character>();
for(int i=0; i<s.length(); i++) {
if(s.charAt(i) == '('){
stack.push('(');
}else{
if(stack.isEmpty()) //첫코드가 ')' 이거나 '()'이후에 또 ')'이것이 나왔을때
return false;
else // '('이후에 ')'나오면 지우기
stack.pop();
}
}
answer = (stack.isEmpty()) ? true : false; // 포문을 돌면서 처리한 스택이 비어있으면 true, 남아있다면 false
return answer;
}
}
접근방법
'Backend > Algorithm' 카테고리의 다른 글
36. sort - 가장 큰 수 (0) | 2020.12.14 |
---|---|
35. toUpper/LowerCase - 이상한 문자 만들기 (0) | 2020.12.03 |
34. for, if - 예산 (0) | 2020.11.30 |
33. 2중 반복문 - 직사각형 별찍기 (0) | 2020.11.28 |
32. long - x만큼 간격이 있는 n개의 숫자 (0) | 2020.11.23 |