augustparkjy   4년 전

안녕하세요.


아래 코드의 DFS 함수 안에 주석으로 표시한 부분에 관해 이해가 잘 안가는 부분이 있어 질문드려요.

(*k)는 배추 개수인데 배추 위치에 도달할 때마다 하나씩 값을 빼서 모든 배추 위치를 찾았을 때, 바로 함수를 빠져나올 목적으로 해당 코드를 작성했습니다.

근데 생각해보니 불필요한 연산이라고 생각되어 표시한 부분을 지웠습니다.

정답은 변함없는데, 테스트 결과 지우기 전에는 메모리 사용량이 2100KB인 것에 반해에 지우고 나니 메모리 사용량이 2104KB로 4KB더 사용한 것으로 나오네요.

메모리 사용량이 늘어난 것이 이해가 안가는데, 제가 뭘 놓치고 있나요?

답변 부탁드립니다.

sait2000   4년 전

그정도 차이는 무시해도 무방하다고 생각합니다.

djm03178   4년 전

어떤 문장을 넣거나 지우는 것으로 컴파일러가 어떤 방향으로 최적화를 할지, 또는 운영체제가 할당해주는 메모리의 구조가 어떻게 될지는 모르기 때문에 별로 의미 없습니다. 심지어 저게 어쩌면 겨우 4바이트가 더 필요해서 페이지 하나가 더 할당된 걸 수도 있습니다.

augustparkjy   4년 전

그렇군요.

1743번 문제도 같은 방법으로 풀고 마찬가지의 불필요한 if문 하나를 지웠는데, 거기선 지우고 나서 80KB가 더 늘었더라구요.

혼란스러워서 질문드렸었습니다.

답변 감사합니다!

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