linear114   4년 전

sc.next() 는 개행문자를 무시하기 때문에

다음에 입력값으로 빈칸만 아니면 next값을 안 받지 않나요??

분명 sc.hasNext()가 false가 되어야 하는 상황에서

while문이 끝나지 않고 cnt가 출력 자체가 안됩니다 ㅠㅠ

혹시나 해서 while문 안에 sc.next()값을 출력도 해봤는데

앞 뒤 공백이 있던 없던.. 깔끔하게 문자만 출력됐거든요 ㅠㅠ 아님 제가 잘못 알고 있는 것 일수도용..

쉬울 줄 알았는데 어렵네요 하하

djm03178   4년 전

hasNext는 EOF가 나오기 전까지는 계속 입력을 받으므로 키보드로 끝을 내려면 운영체제에 맞는 EOF 입력 방식(예: 윈도우즈에서는 컨트롤+Z)로 EOF를 넣어줘야 합니다.

linear114   4년 전

음 즉, 이 문제에서는 이 방법으로 풀 수 없다는 말이 되는걸로 이해하면 될까요?

EOF가 나오지 않아 끝을 낼 수가 없다는 뜻이고,

키보드로 끝을 낼 수가 없는 상황이기 때문에 다른 방법을 찾아봐야 하는 것이 맞는건가요?? ㅠㅠ

맞다면 하나만 질문 더 해도 괜찮을까요?

EOF가 나온다는 것이 무슨 말인지 잘 모르겠습니다.

파일의 끝.  즉, 입력값의 끝을 의미하는 것 같은데

백준에서의 예제 입력값은 끝이 존재하지 않나요?

djm03178   4년 전

네, 그래서 백준에서는 그대로 해도 됩니다.

제 말은 이걸 로컬에서 키보드로 테스트해보고 싶다면 EOF에 해당하는 키보드 입력을 넣어줘야 한다는 뜻이고, 그 EOF를 나타내는 키보드 입력이 윈도우즈에선 컨트롤+Z라는 뜻입니다. 못 하는 게 아니라 할 수 있다고 했습니다.

linear114   4년 전

아 이해했습니다.

실제로 이클립스 상에서 키보드로 테스트해보니

컨트롤 Z 누르니 값이 뜨는군요!

신기합니다 이런거 처음 알아서 ㅎㅎ 

늦은 시간에 친절하고 깔끔하게 답변 달아주셔서 감사합니다!

좋은 밤 보내세요 ㅎㅎ

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