sksy368   2년 전

닫는 괄호가 있다면, 앞에는 무조건 여는 괄호가 있어서 EmptyStackException이 발생하는 경우가 없지 않나요?

15번째 라인에서 발생합니다.

!stack.empty()를 넣어줘도 17번째 라인에서 또 발생합니다ㅜㅜ

bupjae   2년 전

15번째 줄의 while 비교문 안에서는 pop 이 아니라 peek 를 쓰고 싶었던 건 아닌가요?

bupjae   2년 전

그리고, "완전한 문자열"을 들고 있는 것 처럼 보이는데, 이런 식으로 풀면 매우 높은 확률로 "메모리 초과" 또는 "시간 초과" 결과를 받게 됩니다.

문자열의 길이만 계산해야 합니다.

sksy368   2년 전

닫는 괄호가 나오는 경우, 여는 괄호가 나올 때까지 Q에 pop하여 스택에서 빼주면서 반복해야 할 문자열을 만들어주고자 pop을 이용했습니다.

bupjae   2년 전

지금 현재 프로그램은 15번째 줄 반복문 한 번 도는데 pop 이 두 번 호출됩니다.

분명 의도했던 것 보다 pop 을 더 많이 하고 있습니다.

디버거 돌려두고 한 줄 한 줄 실행하면서 stack 과 Q의 변화를 살펴보세요

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