Daily LeetCode Challenge - 2390. Removing Stars From a String

Min Young Kim·2023년 4월 11일
0

algorithm

목록 보기
118/198

Problem From.
https://leetcode.com/problems/removing-stars-from-a-string/

오늘 문제는 주어진 String 에서 * 이 나오면 그 앞에 있는 글자를 지우는 문제였다.

이 문제는 Stack 으로 풀었는데 주어진 string 을 순회하면서 스택에 넣다가 * 이 나오면 stack 의 맨 위 요소를 꺼내서 없애주는식으로 풀었다.
마지막으로 stack 의 모든 요소를 꺼내와서 거꾸로 뒤집어주면 답이 나온다.

import java.util.Stack

class Solution {
    fun removeStars(s: String): String {
        
        val stack = Stack<Char>()
        val sb = StringBuilder()
        
        s.forEach {
            if(stack.isNotEmpty() && it == '*') {
                stack.pop()
            }else {
                stack.push(it)
            }
        }

        while(stack.isNotEmpty()) {
            sb.append(stack.pop().toString())
        }
        
        return sb.reverse().toString()
    }
}
profile
길을 찾는 개발자

0개의 댓글