질문
- 코딩 테스트에서 Queue 사용이 필요한데 직접 구현하기 힘들고 귀찮습니다. 대신 Array의 shift 함수를 사용해도 괜찮을까요?
답변
- 기존 Array의
shift
함수는 시간복잡도가 O(n)입니다.
- 그런데 자바스크립트 엔진이 요소가 적을 경우엔 어느정도 최적화를 해줍니다. 다음 링크를 확인해보세요.
- 위 퍼포먼스 실험에 따르면 크로미움 76에선 요소가 15,044개 까지는 최적화가 되지만 이후로 급격하게 느려진다고 합니다.
- 따라서 문제에 따라 요소를 적게 사용하는 경우에는 shift를 사용해도 괜찮지만 Queue에 요소가 많이 들어가는 경우엔 가급적 직접 Queue를 구현해서 사용하는 것이 좋습니다.