i < strlen(ch)도 원래는 시간 초과가 나는 것이 일반적이지만, 컴파일러의 마법의 최적화에 의해 통과될 뿐입니다.
for문의 조건문은 for문이 한 바퀴 돌 때마다 실행되며, strlen이 그때마다 하는 작업은 문자열의 시작점부터 출발해서 한 문자씩 확인해서 널 문자가 나타나는 지점을 찾는 것입니다. 그래서 문자열의 길이에 비례하는 시간이 걸리고, 이 작업을 문자열의 길이만큼 반복하므로 총 시간 복잡도는 문자열의 길이의 제곱에 비례합니다.
sdtgzx 3년 전
\n까지 입력을 받고 ' ' 만 찾아서 카운트하는데 시간초과가 납니다.
어디가 문제일까요??