해결된 질문
작성
·
235
답변 1
1
안녕하세요 승호님 ㅎㅎ
이 문제의 범위를 보면 다음과 같습니다.
첫째 줄에 N이 주어진다. N은 10,000보다 작거나 같은 자연수이다.
즉.. N번째가 주어지고 거기에 맞는 숫자를 찾아야 하는데요.
이는 O(N)이라고 볼 수 없습니다.
N = 1일때만 봐도 666까지 탐색을해야하거든요. (0부터 시작한다면...)
이 문제는 N을 기반으로 시간복잡도 산정은 어렵고.
N의 최대범위 10000으로 계산해보면
2666799 := 200만
임을 알 수 있습니다. (해설코드 기반으로 산출해내면)
또한 여기서 find를 쓴다 하더라도 200만에서 많이 늘어나지를 않습니다.
2666799의 자릿수는 총 7개입니다. 즉, find가 O(N)이라고 할지라도. N자체가 최대 7이기 때문에
200만 * 7 = 1400만 정도의 시간복잡도가 되기 때문에 그렇습니다.
또 질문 있으시면 언제든지 질문 부탁드립니다.
좋은 수강평과 별점 5점은 제게 큰 힘이 됩니다. :)
감사합니다.
강사 큰돌 올림.
이해가 잘 되지 않았었는데 정말 감사드립니다!!!!