rkdgus   5년 전

덱을 통해서 문제를 해결하였습니다. 

기존에 시간초과가 나서 왜 그런가 찾아보았더니 버퍼쪽 문제인걸 알고, 버퍼를 이런저런 방법으로 비워보다가 해결하게 되었습니다. 

제가 궁금한건 28번째 줄부터 시작되는 main() 내에서 44, 51번째 줄의 버퍼 비우는 코드를 getchar()로 대체하게 되면 왜 시간초과가 나는지 입니다. getchar()로 대체하게 될 경우 예제와 제가 무작위로 입력해본 케이스들이 모두 정상적으로 출력되었으나, 문제를 제출하면 25%쯤에서 멈춘 뒤 시간초과가 일어나더라고요.

일단 추측컨데 이러한 시간초과가 main() 내부, 특히 getchar() 부분의 문제라 생각해서 질문 올립니다.

djm03178   5년 전

처음에 배열이 비어있으면 52번째 줄의 getchar는 '['를 읽고 ']'가 버퍼에 남습니다. 그래서 다음 테스트 케이스에서 문제가 생깁니다.

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