EOF를 받을때까지하라고하니까 in = EOF 이여야 합니다.
왜냐하면 마지막에 그냥 입력받고 그냥 공백으로 끝날수도 있기 때문입니다.('\n'이나'\0'은 안됨)
그리고 for문을 10번을 돌리셔야지 9번만 돌렸습니다.
11721번 - 열 개씩 끊어 출력하기
입력 마지막에는 기본적으로 \n이 주어지고, 이 문제는 항상 한 문장만 입력으로 들어오므로 이 문제는 \n를 감지하는 방식으로도 풀 수 있습니다.
위 코드의 문제는 10개의 문자를 입력 받고 나서 한번씩만 \n인지 확인하는게 문제입니다.
10의 배수번째 글자가 운 좋게 \n이라면 while을 탈출하겠지만,
보통의 경우는 이미 \n를 한참 전에 입력을 받고 이미 입력이 끝나고 getchar을 실행해 in에 EOF가 저장되있으므로 while을 탈출하지 못합니다.
반면에 EOF를 감지하는 방식으로 짜신건 이미 입력이 끝났으면 getchar을 몇번 하던지 계속 EOF가 들어오므로,
10글자를 받고 나서 EOF를 확인하는 방법을 써도 통과 가능합니다.
댓글을 작성하려면 로그인해야 합니다.
wonjachocho 6년 전
코드를 제출하면 출력초과가 뜹니다ㅜㅜ