strlen의 시간 복잡도가 O(n)이라서 반복문과 같이 쓰이면 그 시간 복잡도는 O(n^2)이기 때문에 시간초과가 납니다.
쉽게 말해서 i<strlen(str)을 할 때 마다 함수가 호출되기 때문이라고 보시면 됩니다.
1157번 - 단어 공부
strlen의 시간 복잡도가 O(n)이라서 반복문과 같이 쓰이면 그 시간 복잡도는 O(n^2)이기 때문에 시간초과가 납니다.
쉽게 말해서 i<strlen(str)을 할 때 마다 함수가 호출되기 때문이라고 보시면 됩니다.
@ehdrmsl2001 아하 함수가 반복적으로 호출되는게 문제군요 감사합니다!
댓글을 작성하려면 로그인해야 합니다.
jibaek0513 3년 전
코드는 제가 정답으로 인정받은 코드입니다
이전에는 16줄에 len을 초기화하지않고 바로 strlen(str)로 하였는데 그 때는 시간초과가 떠서 실패가 뜨더군요
이후에 변수 len을 따로 저장하여서 미리 문자열의 길이를 받아서 비교하였고 이 때는 성공이라고 떴습니다
둘의 차이점이 무엇인가요? 초보 프로그래머에게 알려주시면 감사하겠습니다(__)