알고리즘
팁스타운 배 코드챌린지 본선 - 2번
quantdave
2017. 5. 23. 03:09
전형적인 스택 사용 문제
순차적으로 입력받은 문자열을 순회하면서 스택이 비어 있거나 최상단 문자와 다르면 푸시
최상단 문자와 같으면 팝 하는 과정을 반복 후에 스택이 비어있으면 모두 제거가능하다.
시간 복잡도 O(n)
int solution(string s)
{
stack<char> st;
for(int i=0; i<s.length(); i++)
{
if(st.empty() || st.top() != s[i])
{
st.push(s[i]);
}
else if(st.top() == s[i])
{
st.pop();
}
}
return st.empty();
}