프로그래머스__[문제풀이: lv2. 사전순 부분 문자열]

On.


Algorithm


1. 수도코드

1) 문자열 s 순회 (for문)

2) stack에 문자가 있고, 맨 끝에 문자가 현재 넣으려는 문자보다 알파벳 순서상 앞에 있는 문자면 stack.pop()

3) 2번 조건을 만족하면 계속 반복 (while)

4) while문이 끝나면 문자를 stack에 추가한다.

5) for문이 끝나면 stack에 있는 문자를 문자열로 만들어 리턴한다.


2. 구현코드

def solution(s):
    stack = []
    for alp in s:
        while stack and stack[-1] < alp:
            stack.pop()
        stack.append(alp)
        
    return ''.join(stack)

3. 배운점

  • 문자열의 순서를 지키면서, 부분 집합의 문자를 만들어야한다면 스택을 사용하는 것도 고려해볼 만하다.


Off.


프론트와 백을 넘나드는 리드 개발자가 되는 그날까지 🔥🔥🔥

좋은 웹페이지 즐겨찾기