선발대

[스파르타] 99클럽 2기 코테스터디 36일차 TIL / leet 2390 본문

스파르타코딩클럽/활동 내용

[스파르타] 99클럽 2기 코테스터디 36일차 TIL / leet 2390

신선한 스타트 2024. 6. 24. 23:41

Leetcode: 2390. Removing Stars From a String (링크)

 

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)

오늘 미들러 풀이 끝!

 

Comments