• 카테고리

    질문 & 답변
  • 세부 분야

    알고리즘 · 자료구조

  • 해결 여부

    미해결

while(stack.pop()!=')'); 에서 조건문

22.02.07 18:17 작성 조회수 447

0

안녕하세요. 강의 정말 잘 듣고있는 학생입니다. 다름이 아니라 여태까지 코드를 짜보면서 while문에 나오는 조건문은 단지 true와 false를 확인하여 계속 반복할 것인지 아닌지를 판단하는 용도로 알고있었습니다. 그런데 이번코드를 보니 while문의 조건 부분 빼고는 따로 pop하는 부분이 없는데 어떻게 pop과정이 일어나는지 이해가 잘 가지 않아 질문 남겨봅니다!!

답변 1

답변을 작성해보세요.

0

pcc2242님의 프로필

pcc2242

2022.02.08

(AB)라고 생각하시면 while(stack.pop()!='('); 에서 4번 pop 연산이 일어납니다.

pop 메소드는 원소를 꺼냄과 동시에 꺼낸 원소의 값을 리턴합니다.

첫번째 stack.pop() = ')' false 이므로 다시 while문 진입

두번째 stack.pop() = 'B' false 이므로 다시 while문 진입

세번째 stack.pop() = 'A' false 이므로 다시 while문 진입

네번째 stack.pop() = '(' true 이므로 while 문 탈출

andthensome님의 프로필

andthensome

2022.03.02

닫는 괄호는 Stack에 push되지 않기 때문에 3번 연산이 일어납니다.