
이번 문제는 스택 & 큐를 사용하여 해결할 수 있는 문제다. 문제를 보자면, 문자열 s를 입력받고 '*' 가 나올 시, 별이 나온 수대로 왼쪽 글자 하나 씩 지우면 되는 문제이다.
예를 들어, 'leet**code' 를 입력받으면 'lecode' 가 정답이 된다.
class Solution {
public String removeStars(String s) {
Stack<Character> stack = new Stack<>();
for (char c: s.toCharArray()) {
if (c == '*') stack.pop();
else stack.add(c);
}
return stack.stream().map(String::valueOf).collect(Collectors.joining());
}
}
코드는 간단히 구현할 수 있었다. 문자 삭제를 위해 스택 변수를 선언해주고, 입력받은 s 기준으로 한 글자 씩 만일 별 모양 등장 시 스택 내 들어있는 글자를 삭제하고 그게 아니라면 스택에 추가하면 된다.

