kanght1219   3년 전

테스트 케이스 예제 1대로 하면 맞는데 왜 틀린건지...

kdh9949   3년 전

- 4번째 줄에서 str 배열의 길이를 100보다 크게 잡아야 합니다. C에서 문자열의 끝을 NULL 문자로 나타내기 때문에, (문자열의 최대 길이) + 1 크기의 공간이 있어야 합니다.

- 22번째 줄에서 i를 26까지만 해야 합니다. 알파벳은 총 26개입니다.

+ 참고로 8번째 줄 for문에서 조건문에 i<strlen(str) 을 쓰시면 문자열의 길이를 N이라 할 때 N^2에 비례하는 시간이 걸립니다. strlen(str)를 매번 호출할 때마다 문자열 전체를 다 돌면서 길이를 계산하기 때문입니다. 문자열의 길이는 변하지 않으므로 미리 int len=strlen(str); 과 같이 따로 저장해 두고 for(i=0; i<len; i++) 과 같이 쓰시면 됩니다. 

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