[leetcode] 2309 : Removing Stars From a String🥈(Medium)
⏰ 걸린 시간 : 15분
- 알고리즘 유형 : [스택]
✔️ [문제 요약]
0. 을 만나면 바로 왼쪽의 값과 함께 뺀다.
1. 마지막에 모든 과 뺀 왼쪽의 값들을 제거하고 결과값 출력
✔️ [문제 풀이]
0. 새로운 arr_str 리스트를 만든다.
1. s를 순회하면서 모든 값들을 arr_str에 넣는다.
2. 이때 s의 값 중 '*'을 만나면 arr_str값중 맨 마지막 값을 pop한다.
코드(code)
class Solution: def removeStars(self, s: str) -> str: arr_str = [] for element in s: if element == '*': arr_str.pop() else: arr_str.append(element) return ''.join(arr_str)
시간 초과가 발생한 코드는 깃허브에 올려 놨습니다.
단순히 이중 for 문을 통해 해결해보려 했지만, O(N^2)이라는 시간복잡도를 갖고 있기 때문에 시간초과 발생