알고리즘

팁스타운 배 코드챌린지 본선 - 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();

}