스파르타코딩클럽/활동 내용
[스파르타] 99클럽 2기 코테스터디 36일차 TIL / leet 2390
신선한 스타트
2024. 6. 24. 23:41
Leetcode: 2390. Removing Stars From a String (링크)
문제 설명
문자열에 *가 있다면 *의 바로 앞 문자를 삭제해서 출력하는 문제이다.
예1) 입력값: s = "leet**cod*e" / 출력값: "lecoe" (et, d 삭제됨)
예2) 입력값: s = "erase*****" / 출력값: "" (erase 삭제됨)
풀이 설명
(1) 정답 문자열을 담을 빈 리스트 ans을 정의한다.
(2) 입력값 문자열 s를 for문으로 돌면서 *가 나오는 경우와 아닌 경우를 설정한다.
(3) *이 나오는 경우: ans의 마지막 문자열을 pop으로 제거한다.
(4) *이 나오지 않는 경우: ans에 해당 문자열을 append로 추가한다.
(5) ans 리스트를 join으로 문자열로 변경해서 반환한다.
class Solution:
def removeStars(self, s: str) -> str:
ans = [] # 정답 문자열
for i in s:
if i == '*':
ans.pop()
else:
ans.append(i)
return ''.join(ans)