왜 wrong answer가 나오는 지 잘 모르겠습니다

kudus66 Reply 9 years 3 weeks ago
일단 여쭤보고 싶은게,, 1234567890이 순차적으로 입력될때 3-그램 형식으로 봐야 제대로 판단할 수 있을 것 같은데요. (123, 234, 345, 456, 567, 678, 789, 890) 그래서 저 같은 경우 1. while() 들어 가기 전에 ch1, ch2를 입력받고.. (물론 EOF면 종료) 2. while문에서 ch3를 입력받고, ch2가 '-'인지 판단해서 적절한 조치를 취하고 ch1 <- ch2, ch2 <- ch3 ch3 = getchar() 이를 반복합니다. 3. ch3 == EOF를 만나서 while문을 나오면, 출력하지 않았던 ch1, ch2를 출력하고 프로그램을 종료 이렇게 했는데.. 이게 Wrong answer의 원인인가요? 이거 해결하려고 계속 고민을 해봤는데 이런 방법이 아니면 어떻게 해야하지를 모르겠습니다. 일단 문제의 요구사항에 나와있는 건 전부 다 되는 것 같아요. 근데 wrong answer 뜨는 이유가.. 잘 모르겠습니다 ㅜ 구체적으로 설명 부탁드립니다!
persuade Reply 9 years 3 weeks ago
맨 마지막 입력을 보면 special case ---0-00-0- 입니다. 앞에서 부터 순차적으로 읽다보면 0-0이 두번 나오고 이를 치환하면 special case ---00 이 되겠죠? 코드를 보면 치환 후에 무조건 2글자를 읽습니다. 그리고 2글자를 출력합니다. 근데 남아 있는건 - 하나죠? EOF를 읽어서 출력하게 됩니다. 이 부분이 문제입니다.