인프런 커뮤니티 질문&답변
질문있습니다!
작성
·
158
0
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
section6의 2번문제 괄호문자제거에서요
while(stack.pop() !== '('); 이런식으로 했을 땐 무한루프가 안도는데 아래와 같이하면 왜 무한루프가 돌까요 같은 코드아닌가요??
for (let x of s) {
if (x === ')') {
while (stack.pop() !== '(') {
stack.pop();
}
} else stack.push(x);
}
답변 1
0
김태원
지식공유자
안녕하세요^^
위에 코드는 while문이 한 번 돌때 스택에서 자료를 두번 꺼냅니다.
while (stack.pop() !== '(') { //스택에서 자료를 하나 꺼내 '(' 인지 아닌지 확인.
stack.pop(); //스택에서 하나 꺼낸다. 여기서 '(' 괄호를 그냥 꺼내버릴 수 있습니다.
}





