스택을 사용해서 풀어봤는데 원래 이렇게 시간이 오래 걸리는게 맞는지 모르겠다.
다른 사람들 풀이를 봐도 거의 동일한 알고리즘이라 비슷한 시간이 나올거 같다...
import java.util.Stack;
class Solution
{
public int solution(String s)
{
int answer = -1;
// [실행] 버튼을 누르면 출력 값을 볼 수 있습니다.
//System.out.println("Hello Java");
int i;
Stack <Character> st = new Stack<>();
for(i = 0; i < s.length(); i++){
if(!st.empty() && st.peek() == s.charAt(i)){
System.out.println("st.peek() == " + st.peek() + " s.charAt(i) == " + s.charAt(i));
st.pop();
}
else{//st.empty() || st.peek() != s.charAt(i)
st.push(s.charAt(i));
}
}
if(st.empty()){
answer = 1;
}
else{
answer = 0;
}
return answer;
}
}