[LeetCode] Removing Stars From a String

Kwon·2024년 6월 24일

알고리즘

목록 보기
9/10
post-thumbnail

2390. Removing Stars From a String

문제

이번 문제는 스택 & 큐를 사용하여 해결할 수 있는 문제다. 문제를 보자면, 문자열 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 기준으로 한 글자 씩 만일 별 모양 등장 시 스택 내 들어있는 글자를 삭제하고 그게 아니라면 스택에 추가하면 된다.

결과


profile
📲 @bu_kwon_2 / 💻 dnu05043.log / ⌨ Back-end / 🦁 LikeLion

0개의 댓글