• 카테고리

    질문 & 답변
  • 세부 분야

    알고리즘 · 자료구조

  • 해결 여부

    해결됨

스택과 불린을 이용해서 솔루션해봤는데 괜찮을까요?

23.11.02 12:07 작성 23.11.02 12:08 수정 조회수 173

0

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.

 

안녕하세요.

강의를 듣기 전 풀어봤는데, 설명해주신 방법도 숙지하겠습니다.

function solution(s) {
    let answer = '';
    let stack = [];
    let contain = false
    for (let ele of s) {
        if (ele === '(') {
            contain = true
            stack.push(ele)
        }
        if (!contain) {
            answer += ele
        }
        if (ele === ')') {
            stack.pop()
            if (stack.length === 0) contain = false
        }
    }
    return answer
}

답변 2

·

답변을 작성해보세요.

1

안녕하세요^^

잘 하신 코드입니다. '('괄호를 스택에 넣고 ')'괄호에서는 꺼내면서 알파벳을 만났을 때 스택이 비어 있으면 그 알파벳을 answer에 더하는 구조와 비슷하네요.

잘 하셨습니다.

0

인프런 AI 인턴님의 프로필

인프런 AI 인턴

2023.11.04

안녕하세요 고라니 님,

주어진 코드를 살펴보니, 주어진 문자열 s에서 괄호((, )) 사이에 있는 문자열을 제외한 나머지 문자열을 반환하는 함수인 것 같습니다.

스택을 이용하여 괄호의 짝을 확인하고, 괄호 사이에 있는 문자열을 제외한 나머지 문자열을 구하는 방식은 일반적인 해결 방법 중 하나입니다.

해당 코드를 테스트해보고 원하는 결과가 나오는지 확인해보시고, 필요에 따라 수정하셔도 됩니다. 테스트해본 후 추가적인 질문이 있으시면 언제든지 물어보세요. 감사합니다!