dreamian   6년 전

디큐로 구현했는데 시간 초과가 발생합니다.

입력된 수를 모두 디큐에 넣고 양 옆을 DFS로 탐색하는 것으로 구현했는데요.

예외 케이스가 있는건지, 아니면 알고리즘이 비효율적인 것인지 궁금합니다!

djm03178   6년 전

어떻게 돌려야 할지 모르겠습니다. 로컬에서 예제만 돌려도 런타임 에러가 나고, 그 원인은 분명 deque이 비어있는 상황이 되더라도 que.front()나 que.back() 등을 실행하기 때문인지라 16번째 줄 뒤에 return; 을 추가해도 답이 5가 나오고 말이죠.

dreamian   6년 전

컴파일러가 없는 상황에서 디버깅을 안 하고 소스를 올렸네요 ㅠㅠ

ideone에서 답인 6을 출력해서 문제가 없었던 것 같은데 집에 와서 다시 돌려보니 5가 뜨네요.

deque의 삽입, 삭제가 불필요할 것이라 판단하여,  지금 컴파일러를 이용해서 다시 코딩하는 중인데,

string으로 구현을 해도 시간 초과가 뜨네요. 답변 달아주셔서 정말 감사합니다.


djm03178   6년 전

40
BLDBLDBLDBLDBLDBLDBLDBLDBLDBLDBLDBLDDDDDDDDDDDDDBBBBBBBBBBBBLLLLLLLLLLLLDLBDLBDLBDLBDLBDLBDLBDLBDLBDLBDLBDLBDLBDLBDLBDLB

이것만으로도 약 4초 걸립니다.

dreamian   6년 전

답변 감사합니다 !

문제가 쉽게 접근하려니 어렵네요 ㅠㅠ 차분히 생각해보고 내일 풀어봐야겠습니다 :)

dreamian   6년 전

dp와 메모이제이션으로 해결했습니다.

반례 달아주셔서 정말 감사합니다

새해 복 많이 받으세요 ㅎㅎ

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