1152번 - 단어의 개수
소스코드는 아래와 같습니다.
첫번째 시도 때는 오답이 나와서 반례를 찾다가 b. a (공백이 여러개인 경우) 2개의 단어가 나와야하는데 공백까지 포함하여 나왔습니다.
이를 해결하기 위해 31번줄을 추가했습니다.
이후에는 시간초과가 발생하였습니다.
for문이 많아서 문제인지 궁금합니다. ㅠㅠ
단순히 '많다', '적다'가 아니라 정확한 시간 복잡도를 계산해 보시기 바랍니다. 문자열의 길이가 최대 100만인데, 31, 33번째 줄처럼 길이만큼을 도는 루프가 이중으로 겹쳐있으면 100만*100만=1조 정도가 될 것이고, 이는 컴퓨터가 절대 1초에 돌릴 수 없는 크기입니다.
아하.. 시간복잡도를 간과하고 있었습니다 ㅠㅠ 감사합니다!!
댓글을 작성하려면 로그인해야 합니다.
aksel26 3년 전
소스코드는 아래와 같습니다.
첫번째 시도 때는 오답이 나와서 반례를 찾다가 b. a (공백이 여러개인 경우) 2개의 단어가 나와야하는데 공백까지 포함하여 나왔습니다.
이를 해결하기 위해 31번줄을 추가했습니다.
이후에는 시간초과가 발생하였습니다.
for문이 많아서 문제인지 궁금합니다. ㅠㅠ