중복 체크의 로직이 잘못되었습니다.
현재 코드는 새로운 문자열이 입력되면 이전까지 문자열들 중 중복이 아닌 것이 나올 때마다 init을 하게 됩니다. 물론 결과적으로는 하나만 저장이 되겠지만, init에서 호출하는 new로 할당된 메모리 자체는 계속해서 누적되게 됩니다. 중복되지 않는 경우 init을 한 번만 수행하도록 해야 합니다.
또한 new를 할 때 할당되어야 하는 메모리는 strlen(arr)보다 1 이상 더 커야 합니다. 널 문자가 들어갈 자리가 필요하기 때문입니다.
skatjdehddms 2년 전
병합정렬을 이용했고 중복제거는 이중 for문을 이용해서 입력할때 미리 제거를 했습니다 예제는 잘 나오고 여러가지 질문에 있던 예시들도 잘 나옵니다 그런데 자꾸 제출을 하면 초반에 메모리 초과가 납니다 혹시나 무한반복이 문제인가 싶어 제가 아는 선에서는 무한 반복이 생기지 않게 수정했는데도 안됩니다 2일째 골머리를 앓고있습니다 제발 부탁드립니다