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

Jaewon Lee·2021년 8월 10일
0

Algorithm

목록 보기
25/36
post-thumbnail

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.


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

profile
Communication : any

0개의 댓글