wggwvs   1년 전

사실 복잡도가 O(n*sqrt(n))이라 풀릴줄 알았는데 안되네요. 질문들을 검색해 보니까 sqrt로 된다는 분들도 계시고... 왜 안되는 걸까요?

djm03178   1년 전

sqrt는 기본적으로 매우 매우 무거운 연산입니다. 이 연산을 O(N)번만 해도 무거운데, 이를 for문의 조건문에 넣으면 루프를 도는 횟수만큼 sqrt를 계산해야 하기 때문에 시간 내에 돌 수 없습니다.

sqrt의 값을 미리 계산해서 따로 변수에 빼두고 조건문에는 변수를 넣으면 통과됩니다.

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