14677번 - 병약한 윤호
디큐로 구현했는데 시간 초과가 발생합니다.
입력된 수를 모두 디큐에 넣고 양 옆을 DFS로 탐색하는 것으로 구현했는데요.
예외 케이스가 있는건지, 아니면 알고리즘이 비효율적인 것인지 궁금합니다!
어떻게 돌려야 할지 모르겠습니다. 로컬에서 예제만 돌려도 런타임 에러가 나고, 그 원인은 분명 deque이 비어있는 상황이 되더라도 que.front()나 que.back() 등을 실행하기 때문인지라 16번째 줄 뒤에 return; 을 추가해도 답이 5가 나오고 말이죠.
컴파일러가 없는 상황에서 디버깅을 안 하고 소스를 올렸네요 ㅠㅠ
ideone에서 답인 6을 출력해서 문제가 없었던 것 같은데 집에 와서 다시 돌려보니 5가 뜨네요.
deque의 삽입, 삭제가 불필요할 것이라 판단하여, 지금 컴파일러를 이용해서 다시 코딩하는 중인데,
string으로 구현을 해도 시간 초과가 뜨네요. 답변 달아주셔서 정말 감사합니다.
40BLDBLDBLDBLDBLDBLDBLDBLDBLDBLDBLDBLDDDDDDDDDDDDDBBBBBBBBBBBBLLLLLLLLLLLLDLBDLBDLBDLBDLBDLBDLBDLBDLBDLBDLBDLBDLBDLBDLBDLB
이것만으로도 약 4초 걸립니다.
답변 감사합니다 !
문제가 쉽게 접근하려니 어렵네요 ㅠㅠ 차분히 생각해보고 내일 풀어봐야겠습니다 :)
dp와 메모이제이션으로 해결했습니다.
반례 달아주셔서 정말 감사합니다
새해 복 많이 받으세요 ㅎㅎ
댓글을 작성하려면 로그인해야 합니다.
dreamian 6년 전
디큐로 구현했는데 시간 초과가 발생합니다.
입력된 수를 모두 디큐에 넣고 양 옆을 DFS로 탐색하는 것으로 구현했는데요.
예외 케이스가 있는건지, 아니면 알고리즘이 비효율적인 것인지 궁금합니다!