leetcode 링크

https://leetcode.com/problems/remove-duplicate-letters/

문제 정리

→ 문자열 s가 주어진다.

→ 문자열 s의 중복문자를 삭제한다.

→ 사전식 순서로 정리한다.

접근 방법

→ 주어진 문자열 s를 반복문을 돈다.

→ 객체를 생성하여 각 문자열이 나오는 횟수를 저장한다.

→ top보다 해당 글자가 뒷자리일 경우이면서 횟수가 0보다 크다면 스택에 쌓는다.

→ top보다 해당 글자가 앞자리일 경우이면서 횟수가 0보다 크다면 top을 pop하고 스택에 쌓는다.

→ 이미 스택이 있다면 횟수 -1

위 방법으로 하면 if문을 남발하여 코드가 30줄이 넘게 된다. 당연히 통과하지 못했다.

풀이

1. 재귀를 이용한 분리