strlen() 함수는 O(n)의 시간복잡도로 문자열의 길이가 길수록 비례해서 시간이 느려집니다.
C에서는 문자열을 받을 때 널문자인 '\0'을 저장하므로 이 특징을 살려서 11번째 줄을 이렇게 봐꾸면 시간 초과는 안 남니다.
for(i=0; A[i]!='\0'; i++)
별도로 대문자 변형, 소문자 체크는 각각 헤더파일에 있는 toupper() 과 islower()을 추천드립니다.
if(islower(A[i])) toupper(A[i]);
1157번 - 단어 공부
strlen() 함수는 O(n)의 시간복잡도로 문자열의 길이가 길수록 비례해서 시간이 느려집니다.
C에서는 문자열을 받을 때 널문자인 '\0'을 저장하므로 이 특징을 살려서 11번째 줄을 이렇게 봐꾸면 시간 초과는 안 남니다.
for(i=0; A[i]!='\0'; i++)
별도로 대문자 변형, 소문자 체크는 각각 헤더파일에 있는 toupper() 과 islower()을 추천드립니다.
if(islower(A[i])) toupper(A[i]);
<ctype.h> 헤더파일에 포함되어 있습니다.
댓글을 작성하려면 로그인해야 합니다.
pepper_mis 4년 전 1
DEV C++로 돌렸을때 이상없이 돌아갔어요!
근데 자꾸 시간초과가 납니다..
for문을 두번밖에 사용하지 않는데요..
이 이상 시간을 줄일 수가 있나요...??
아니면 어디서 잘못된걸까요??