주교재 307쪽 스택 알고리즘 문제와 관련하여 질문이 있습니다.
먼저 플로차트를 보면, 처음에 변수 J로 PUSH(입력)할 것인지 POP(제거)할 것인지 결정하잖아요.
그런데 사람인 저는 당연히 디버깅 및 플로차트를 이해할 때 PUSH는 입력이니깐 J가 1이 되는 것이고, POP은 제거이기 때문에 J가 2가 된다는 것을 알 수 있는데, 이렇게만 이해하고 넘어가면 되나요?
또한 플로차트 12번 즉 J=12인지 조건을 판단하는 부분에서, J가 2가 아닌 경우는 없는데(즉, J는 1아니면 2) NO로 빠지는 부분도 이해가 잘 되지 않습니다.
마지막으로 디버깅과 관련하여 디버깅 결과 569쪽 출력에서, 플로차트 14번을 보면 i 값을 출력하는데요.
그래서 저는 출력결과가 40,30,OVERFLOW,70,60,50,20,10 이렇게 나왔는데, 해설지 569쪽은 플로차트 14번에 해당하는 i값을 출력안하고 10번 STACK[i]값만 출력되어있는데 확인 부탁드립니다.
안녕하세요.
먼저 학습에 불편을 드려 죄송합니다.
언급해 주신 것처럼 PUSH 작업을 원하는 경우 J에 1을, POP 작업을 원하는 경우 J에 2를 입력하라는 조건이 누락되었습니다.
이 부분에 대한 처리조건을 추가하도록 하겠습니다.
1과 2 이외의 값이 입력된 경우는 스택의 값을 모두 출력하고 종료하도록 하였습니다. 이 내용 또한 처리조건에 추가하겠습니다.
마지막으로 출력 결과에서 언급해주신 것처럼 i에 대한 출력 값 40, 30이 출력 항목에서 누락되었습니다.
40
30
OVERFLOW
70
60
50
20
10
으로 변경하도록 하겠습니다.
오늘도 즐거운 하루 되세요.
-
*2017-03-30 09:43:38
안녕하세요.
먼저 학습에 불편을 드려 죄송합니다.
언급해 주신 것처럼 PUSH 작업을 원하는 경우 J에 1을, POP 작업을 원하는 경우 J에 2를 입력하라는 조건이 누락되었습니다.
이 부분에 대한 처리조건을 추가하도록 하겠습니다.
1과 2 이외의 값이 입력된 경우는 스택의 값을 모두 출력하고 종료하도록 하였습니다. 이 내용 또한 처리조건에 추가하겠습니다.
마지막으로 출력 결과에서 언급해주신 것처럼 i에 대한 출력 값 40, 30이 출력 항목에서 누락되었습니다.
40
30
OVERFLOW
70
60
50
20
10
으로 변경하도록 하겠습니다.
오늘도 즐거운 하루 되세요.