해결된 질문
작성
·
270
·
수정됨
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
안녕하세요 고라니 님,
주어진 코드를 살펴보니, 주어진 문자열 s
에서 괄호((
, )
) 사이에 있는 문자열을 제외한 나머지 문자열을 반환하는 함수인 것 같습니다.
스택을 이용하여 괄호의 짝을 확인하고, 괄호 사이에 있는 문자열을 제외한 나머지 문자열을 구하는 방식은 일반적인 해결 방법 중 하나입니다.
해당 코드를 테스트해보고 원하는 결과가 나오는지 확인해보시고, 필요에 따라 수정하셔도 됩니다. 테스트해본 후 추가적인 질문이 있으시면 언제든지 물어보세요. 감사합니다!