kke0949   7년 전

시간초과가 뜰라나 해서 올려본 소스인데

런타임 에러가 뜨네요 ㅠㅠ

어디 무한루프라도 뜨는걸까요..

도와주십시오ㅠㅠ

gallopsys   7년 전

만약 입력된 일반 문자열(str)의 길이가 정확히 백만이라면, len_str = 1000000이 될 거예요.

그런데 memmove 함수에서 str + i(폭발 문자열을 처음 발견한 문자열의 위치)에 str + i + len_bomb(폭발 문자열을 제외한 다음 문자열의 위치)을 덮어 씌울텐데, len_str 길이만큼 복사하므로 할당된 메모리의 크기를 벗어나게 됩니다.

그게 런타임 에러의 원인이라 생각하는데, memmove에서 len_str을 strlen(str + len_bomb) + 1이라 수정하면 될 듯 합니다.

다만... strstr 함수와 strncpy 함수(memmove 대체)를 써서 제출해봤는데 시간 초과가 떴네요...


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