dreammusic23   8년 전

-,<,>가 아니면 모두 push해주고,

-일때 pop해주고,

<이면 다른 스택에 저장해서 나중에 붙이게 하고,

>이면 다른 스택에 있는 것을 원래 스택으로 넣었습니다!


물론 잘 되는데...

문제는 시간초과가 뜹니다... ㅠㅠㅠㅠㅠ

대체 어디가 문제고, 어떻게 해야 시간초과가 뜨지 않을까요?

csehydrogen   8년 전

for(j=0;j<=strlen(string);j++)

매 루프마다 strlen을 계산하게 됩니다. 다른 변수에 값을 넣어두시고 사용하는게 좋아요.

csehydrogen   8년 전

string이 문자열 object였다면 string.length() 같은 함수가 상수시간안에 수행되겠지만

strlen은 단순히 앞에서부터 NULL이 나올때까지 보면서 갯수를 세는 함수이기 때문에 수행시간이 문자열 길이에 비례합니다.

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