yeo2507   2년 전

우선 둘 다 맞았다고 나오긴 했습니다.

하지만 방문 확인을 3차원 벡터로 선언해서 풀면 메모리 78732kb, 시간 432ms이나 잡아 먹었는데 

3차원 배열로 바꿔서 풀어보니 메모리 10336kb, 시간 72ms으로 엄청나게 단축 되더군요

벡터에 익숙해져서 거의 벡터만 사용했는데 이것을 보니 배열을 사용해야 하나 생각이 들더라고요

원소의 개수가 한정 되어 있거나 정해져 있으면 배열 대신 벡터를 사용할 이유가 없을까요??

wider93   2년 전

다차원 벡터의 차이도 조금은 있겠지만, 이 경우는 vector<bool>의 문제가 더 클 것 같습니다.  구체적으로 vector<bool>이 왜 나쁜지 검색해보시면 좋겠습니다.

wider93   2년 전

[2]와 같이 원소 크기가 작을 때에는 vector 자체의 기본 메모리가 있기 때문에 특히 비효율적이 되는 것이 맞습니다. 기본적으로 배열이 더 성능이 나빠질 일은 어지간하면 없기 때문에 문제풀이용으로는 배열을 쓰는 분들이 많습니다.

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