더북(TheBook)

이제 hasDuplicateValue([1, 4, 5, 2, 9])을 실행하면 자바스크립트 콘솔에 5가 출력되고 이는 배열의 크기와 같다. 모든 배열 크기에서 마찬가지다. 그래서 이 알고리즘은 O(N)이다.

알다시피 O(N)은 O(N2)보다 훨씬 빠르므로 두 번째 접근법을 사용함으로써 hasDuplicateValue를 크게 최적화했다. 엄청난 속도 향상을 이뤘다.

(사실 위의 새로운 구현에는 한 가지 단점이 있다. 다시 말해 첫 번째 방식보다 메모리를 더 소비한다. 19장 공간 제약 다루기에서 상세히 논할 테니 아직은 신경 쓰지 말자.)

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.