방법의 문제인지 채점 데이터의 문제인지 알고싶습니다

hck5209 Reply 9 years 23 weeks ago
첫번째 방법은 while로 cin을 돌면 TLE for로 cin을 돌면 WA였던 점으로 미루어 볼 때 입력을 받는 부분에서 문제가 있었다고 보입니다 공백 혹은 다른문자 한칸으로 숫자가 구분된다고 간주하고 코드를 짰는데 전부 오답이었습니다 정답판정을 받은 방법은 cin 대신 atoi로 숫자를 받고 사이에 숫자가 아닌 것이 들어오면 모두 건너뛰도록 했습니다. 두 경우 모두 샘플 케이스에서는 4를 출력하고 정상종료 되었습니다 며칠 혼자 이래저래 고민을 해봤는데 왜 하나는 겉돌고 하나는 정답인지 잘 모르겠습니다 첫번째 방법에는 무슨 문제가 있는건가요?? 아니면 채점용 데이터에 공백 한 칸이 아닌걸로 구분되는 경우가 있나요??
pichulia Reply 9 years 23 weeks ago
cin.get(checker); if(checker != ' ') break; cin 버퍼에 있는 내용을 다 읽어서 EOF로 끝나는 경우 checker값의 변화가 없고 cin.fail(); 값이 true가 됩니다.
hck5209 Reply 9 years 23 weeks ago
감사합니다