wjdtmddnrtm   2년 전

전 질문에서 수정하여 스택이 비어있을 때 0을 출력하도록 보완했는데

여전히 결과가 틀렸다고 나오네요...

어떤 게 문제일까요?

recoma   2년 전

41 ~ 45 라인에서 스택에 남아있는 요소의 갯수대로 pop을 하는 것 같은데 for문에서 j<mystack.stack_count()로 작성을 하면 for문을 돌 때마다 mystack.stack_count()가 계속 실행하게 됩니다.

예를 들어 stack안의 요소의 갯수가 4개일 경우 pop()을 4번 실행해아 하지만 위 코드대로 실행을 하면

j=0, j<5

j=1, j<4

j=2, j<3

이렇게 3번만 돌게 됩니다.


그리고 stack을 초기화 할 경우 top이 0으로 초기화 되므로 스택의 요소의 갯수를 반환하는 stack_count에서는 top+1이 아닌 top을 리턴해야 합니다.

wjdtmddnrtm   2년 전

와...! 해결됐네요!!

답변 정말 감사합니다!!!

댓글을 작성하려면 로그인해야 합니다.