kms4718275   3년 전

테스트케이스의 경우 프로그램 돌려봤을 때 문제가 없는데, 자꾸 틀렸다고 뜨네요. sizeof의 문제일까 싶어 strlen 함수로 사용해보았는데도 동일한 결과가 나와서 이 부분의 문제는 아닌것 같습니다

( 문자가 입력되면 스택에 넣고, 스택이 비어있지 않을 경우 ) 문자가 입력되면 pop을 하도록 하였습니다. 그리고 스택이 비어있을 때 ) 문자가 들어오면 스택에 넣고 while문을 종료하도록 하였습니다. 그래서 스택이 비어있는 경우에 yes를 그렇지 않은 경우 no를 출력하도록 하였습니다.

어디에서 잘못되었을까요..? 도와주세요

djm03178   3년 전

sizeof는 안 됩니다. strlen을 쓰는 것이 맞습니다.

strlen으로 바꾸고, 배열의 크기를 51로 늘려주면 맞습니다.

kms4718275   3년 전

sizeof를 쓰면 안되는 자세한 이유를 알 수 있을까요..?

khanjhy   3년 전

sizeof는 배열이 메모리에서 차지하는 전체 크기를 구합니다

khanjhy   3년 전

따라서 sizeof(ch)는 50입니다

kms4718275   3년 전

아...그렇군요 결국 문자열의 길이를 구하는게 아니라 , 배열의 크기를 정해 놓고 또 배열 크기를 계산하는 셈과 같은 거군요..

이해되었습니다!! 감사합니당

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