Algorithm/Solution

[프로그래머스] - 짝지어 제거하기

기내식은수박바 2019. 11. 25. 11:40
반응형

문제

 

조건

 

입출력 예제

 

솔루션

  1. 먼저 정답인 answer = 1로 초기화하고 (성공할 수 있다고 가정), 스택 자료구조를 사용한다.
    • Why 스택 ?) 동일한 문자열이 나오면 스택의 Pop()을 이용하여 제거하고, 다음 문자부터 다시 Push() 하면 될 것이라 판단.
  2. 문자열 s의 길이 만큼 반복한다.
    1. 스택이 비어 있다면, 문자를 스택에 Push() 한다.
    2. 스택이 비어 있지 않다면, 동일한 문자인지 비교한다.
      1. 스택의 꼭대기 (Top) 문자문자열 s의 i번째 문자가 동일하다면, 스택을 Pop() 하여 제거한다.
      2. 동일하지 않다면, 스택에 i번째 문자를 Push() 한다.
  3. 반복문이 종료된 이후에도 스택이 비어 있지 않다면, 성공적으로 수행하지 못하는 것이므로 answer = 0 으로 바꿔준다. (실패)

 

Code

 

결과

반응형