jibaek0513   3년 전

코드는 제가 정답으로 인정받은 코드입니다

이전에는 16줄에 len을 초기화하지않고 바로 strlen(str)로 하였는데 그 때는 시간초과가 떠서 실패가 뜨더군요

이후에 변수 len을 따로 저장하여서 미리 문자열의 길이를 받아서 비교하였고 이 때는 성공이라고 떴습니다

둘의 차이점이 무엇인가요? 초보 프로그래머에게 알려주시면 감사하겠습니다(__)

ehdrmsl2001   3년 전

strlen의 시간 복잡도가 O(n)이라서 반복문과 같이 쓰이면 그 시간 복잡도는 O(n^2)이기 때문에 시간초과가 납니다.

쉽게 말해서 i<strlen(str)을 할 때 마다 함수가 호출되기 때문이라고 보시면 됩니다.

jibaek0513   3년 전

@ehdrmsl2001 아하 함수가 반복적으로 호출되는게 문제군요 감사합니다! 

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