이제 마지막 단계, WA반례 찾기가 남았습니다.
약 12시간 동안 4번의 getchar 함수를 작성했고, 총 200줄의 코드를 짠 시점, 예제 코드들, discuss의 반례들 모두 시험해 봤는데 다 맞게 나왔습니다.
a /* b */ /* c */ d 는 앞의 a는 무시하도록 규칙이 되어 있으므로 d만 출력하도록 나왔고
/* a */ /* b */ /* c */ e f 는 맞게 출력되고 keyarray[0].word에 e, keyarray[1].word에 f로 잘 들어가 있는 것도 확인했습니다.
제가 놓친 반례 케이스는 무엇일까요?
항상 감사합니다.
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
범인은 reverse(); 함수네요.
Ctrl F로 reverse 글자가 들어간 부분을 찾아보고, 그 근처 반경 1m를 샅샅히 뒤적여보시길...
이런....12시간동안 작성한 getword 함수도 다시 짜야겠는걸요...
아침에 바로 고쳐서 reverse() 함수는 정상작동하는데 getword 함수도 무슨 문제가 있나요? scanf와 getchar 에서 가능한 모든 경우를 따져봤는데..
또 악몽의 EOF 문제인가요.. 진짜 < 명령어를 이용해 파일을 넘겨봐야하나..
오오 거의 다해갑니다.
// /* aa */ bb
cc
ㄱㄱ
드디어 해결했습니다!
gcc 컴파일러로 cmd에서 < 을 통해 텍스트로 넘겨 보니까 코멘트가 아닌 단어 뒤에 바로 EOF가 있을 경우 그 단어를 저장 안하더라고요... 강의 쉬는시간때 getword 함수를 다시 살펴봤는데 혹시 그 경우를 생각하지 않았나 짐작만 했는데 실제로 그러니까 아차 하는 생각이 들더라고요.
바로 바꾸니까 Accepted네요.
계속 질문하느라 저 때문에 많이 힘드셨을것 같은데 정말 감사합니다.
덕분에 직접 스스로 풀면서 getword도 4-5번씩 짜면서 저 자신도 한층 성장한것 같습니다.
늘 감사합니다.