1152번 - 단어의 개수
제 코드는 string 을 입력받으면,
입력받은 문자열에서 빈칸(스페이스 바)의 개수를 찾고,
입력받은 형태의 케이스를 분류해서 단어의 개수를 나타내는 코드인데요.
일단 비쥬얼 스튜디오에서는 문제없이 잘 돌아가는데
왜 시간초과가 뜰까요?
혹시 for문 안의 find() 때문에 그런걸까요?
for문 안에 처음 idx가 -1인 경우는 end번 str.find()를 실행시키게 되고,
이경우에 O(n^2)의 시간복잡도가 될 듯 합니다.
qja0950 아 역시 그렇군요. 빈칸 없이 알파벳으로만 이루어진 단어일 경우 find()가 end번 실행되네요.
다행히 문제를 해결 했는데,
빈칸이 있는 배열의 인덱스를 찾고 그 인덱스의 양 옆의 문자가 isalpha()....를 이용해서 해결했습니다.
답변 감사합니다^^
댓글을 작성하려면 로그인해야 합니다.
adnyss 7년 전
제 코드는 string 을 입력받으면,
입력받은 문자열에서 빈칸(스페이스 바)의 개수를 찾고,
입력받은 형태의 케이스를 분류해서 단어의 개수를 나타내는 코드인데요.
일단 비쥬얼 스튜디오에서는 문제없이 잘 돌아가는데
왜 시간초과가 뜰까요?
혹시 for문 안의 find() 때문에 그런걸까요?