import java.util.Stack;
public class programmers {
public static void main(String[] args) throws Exception {
boolean answer = true;
String s = "(()(";
boolean flag = false;
flag = solution(s);
}
static boolean solution(String s) {
boolean answer = false;
Stack<Character> stack = new Stack<>();
//String 으로 하면 오류가 나서 Character 로 변경
for(int i = 0; i < s.length(); i++){
char chr = s.charAt(i);
if(chr == '('){
stack.push(chr);
}
if(chr == ')'){
if(stack.size() == 0){
//맨 앞인데 ) 로 시작하면 false
return false;
}
else
stack.pop();
}
}
if(stack.size() == 0){
//0이면 true
answer = true;
}
return answer;
}
}
String 으로 형변환 해서 풀면 통과가 안 되는 쥐어뜯음이 있다.
(심지어 결과가 똑같은데도 PASS가 안됨! 주의!)
댓글
댓글 쓰기