알고리즘/항해99

99클럽 코테 스터디 36일차 TIL + 스택/큐(Removing Stars From a String)

IamBD 2024. 6. 24. 18:04

오늘의 과제

리트코드 medium으로 분류된 Removing Stars From a String 입니다.

 

이번 유형은 스택/큐 입니다.

문제

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

 

 

먼저 문제 요구사항 요약입니다.

 

문자열이 주어지고 문자중 *를 만나면 왼쪽에서 가장 가까운 문자와 함께 *도 제거 후 반환하면 됩니다.

 

괄호 짝 맞추기와 같이 전형적인 스택 문제입니다. 후입선출의 자료구조 특성을 이용하여 문자를 계속 담다가 *를 만날때만 pop을 통해 문자를 제거해주면 되는 아주 간단한 문제입니다.

 

코드입니다.

class Solution {
    public String removeStars(String s) {
        var st = new Stack<Character>();
        for (char c : s.toCharArray()) {
            if (c != '*') {
                st.add(c);
            } else {
                if(!st.isEmpty()) {
                    st.pop();
                }
            }
        }
        return st.stream().map(String::valueOf).collect(Collectors.joining());
    }
}

 

배운 점

난이도가 좀 들쑥날쑥 한 것 같습니다. 이런 문제도 미디움으로 분류되어 있는 걸 보니 리트코드는 쉬운 미디움과 어려운 미디움의 편차가 굉장히 클 것 같네요. 미들러 문제도 다 풀 수 있는 수준은 아니었으나 추후 코테 스터디에서는 챌린저로 가보려 합니다.

 

 

 

오늘의 한줄평

어느 세월에 코테를 뚫나