check_mate   6년 전

런타임 에러가 뜨는데 현재 제가 접근을 하는 배열의 인덱스는 1000001 까지 입니다.

그러면 배열의 범위내라서 런타임에러가 안떠야하는데 뜨네요...


keith   6년 전

%c로 입력받는게 위험할 수 있는것이, 시스템에 따라서는, \n이 아니라, \r\n 일 수 있습니다. 따라서, 1000000개 문자가 들어온 이후에,

\r이 들어와서 1000000인덱스가 채워지고, 다음에 \n이 들어와서 1000001을 채울 확률도 있습니다.

에초에, %c로 입력받으실거면, char Array[1000001]은 왜 만드셨나요? 쓰이지도 않는데^^;

또한, 고려하셔야 할 점이, 

아래와 같은 입력은 답이 뭐가 나와야 할까요?^^; copy & paste 해서 답을 한번 보시죵^^;


djm03178   6년 전

참고로, 이 문제의 입력에는 끝에 개행이 있는 경우도 있고 없는 경우도 있으니 주의하셔야 합니다.

https://www.acmicpc.net/board/...

check_mate   6년 전

배열을 1000003개로 늘리고 
Array[i]의 값이 \n이거나 \0 일때 넘추게 했습니다!
그리고 말씀해주신 반례같은경우 찾아보니 단어 사이의 띄어쓰기는 1개 더군요! 
그래도 감사합니다ㅎ
해결해야 했던부분이 시작과 끝중에 스페이스가 들어오는 경우였고 추가적으로 플래그를 만들어서 
스페이스일떄 처리를 해주었습니다!

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