문제
- 문자열 s가 올바른 괄호이면 true, 아니면 false를 반환
풀이
import java.util.*;
import java.io.*;
class Solution {
boolean solution(String s) {
boolean answer = true;
Deque<Character> dq = new ArrayDeque<>();
for(char c : s.toCharArray()){
if(!dq.isEmpty()){
if(c == ')') dq.pollLast();
else dq.push(c);
}
else {
if(c == ')') return false;
else dq.push(c);
}
}
return dq.isEmpty() ? true : false;
}
}
풀이2
class Solution {
boolean solution(String s) {
int cnt = 0;
for(char c : s.toCharArray()){
if(c=='(') cnt++;
else cnt--;
if(cnt<0) return false;
}
return cnt > 0 ? false : true;
}
}