'(' 또는 ')' 로만 이루어진 문자열 s가 주어졌을 때, 문자열 s가 올바른 괄호이면 true를 return 하고, 올바르지 않은 괄호이면 false를 return 하는 solution 함수를 완성해 주세요.
s | answer |
---|---|
"()()" | true |
"(())()" | true |
")()(" | false |
"(()(" | false |
) 가 먼저 나오면 무조건 X
무조건 시작은 ( 여야 하고, ( 개수 세고 ) 가 ( 개수 만큼 나와야 함
빼다가 ( 개수 세고 ) 는 ( 개수 만큼 나와야 하므로
package correctParentheses;
import java.util.Scanner;
import java.util.Stack;
public class Solution {
public boolean solution(String s) {
boolean answer = true;
Stack<Character> stack = new Stack<>();
for(int i = 0; i<s.length(); i++){
char c = s.charAt(i);
if(c == '(')
stack.push(c);
else{
if(stack.size()==0)
answer = false;
else
stack.pop();
}
}
if(stack.size()!=0)
answer = false;
return answer;
}
}