Algorithms/LeetCode
[LeetCode] 2390. Removing Stars From a String
junhwa100
2024. 11. 16. 09:38
1. 문제 이해
문자열 s가 주어진다.
s에는 별표 *가 포함되어 있다.
하나의 작업에서 문자열의 별표 하나를 선택하고 해당 별표의 왼쪽에 있는 가장 가까운 별표가 아닌 문자를 제거하고, 별표 자체도 제거한다.
모든 별표가 제거된 후 남는 문자열을 리턴한다.
2. 풀이 과정
스택 자료형을 사용한다.
Python에서는 리스트를 스택처럼 사용할 수 있다.
for문으로 문자열 s를 순회하면서 *라면 스택에 추가하지 않고, 스택의 가장 최근 요소를 제거한다.
*가 아니라면 스택에 추가한다.
3. 전체 코드
class Solution:
def removeStars(self, s: str) -> str:
stack = []
for char in s:
if char == '*':
stack.pop()
else:
stack.append(char)
return ''.join(stack)
4. 생각할 점
- 스택(리스트)를 문자열로 바꾸기 위해서는 join을 사용한다.
5. 출처
- https://leetcode.com/problems/removing-stars-from-a-string/?envType=study-plan-v2&envId=leetcode-75