ajh1973456   2년 전

문제를 맞추긴 했는데, 밑의 코드로 440ms가 나와서 시간이 오래 걸린다고 생각하여 다른 분들의 c++ 코드를 봤습니다.

큐를 안 쓰신 것 빼곤 저와 별다른 차이점이 없어보였는데, 그 코드는 80ms였습니다.

제 코드에서 어떤 점 때문에 시간이 오래 걸리는지 알려주시면 감사하겠습니다. 

luitz79   8달 전

queue를 썼기 때문에 느린겁니다.

queue는 list입니다.

list의 장점은 앞부분에서의 삽입/삭제가 용이한 점이 있지만

끝부분에서만 삽입/삭제가 일어날 경우 array가 속도가 훨씬 빠릅니다.

vector도 어떻게 쓰느냐에 따라 속도의 격차가 커질 수 있습니다.


지금 코드에서는 queue를 쓰지 않아도 됩니다.

이렇게 고쳐놓고 보니 group과 bfs가 중복이군요.

지금 아래 코드가 96ms고 중복 제거하면 88ms 나옵니다.

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