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()
}
}