자바스크립트로 큐를 구현할 때는 splice 보단 shift
그 동안 나는 큐를 돌릴때 splice 를 사용해왔다. 딱히 splice를 사용해서 막혔던 문제들은 크게 없었던 것 같다.
근데, 이 문제에서 막혔다.
처음에는 splice에 대한 의심을 안했었지만, 이 문제는 내 풀이에 대한 확신이 있었다.
예외사항 처리도 모두 해줬다고 생각했고, 이것보다 빠르게 예외처리를 해서 TC를 통과할 수는 없다고 생각하였다.
그런데, 자꾸 시간초과가 발생하는 것이다.
여태 node.js 로 풀면서 언어적 문제때문에 시간초과가 발생하는 경우가 몇몇 있어서, 도저히 해결 안되는 문제일때는 파이썬으로 바꿔 풀었었다.
근데, 이 문제만큼은 뭔가 그러기 싫었고 "왜 이게 시간초과가 나지???" 라는 의문으로 계속 접근해봤다.
혹시 이번에도 언어적 문제인가하고 찾아보던 와중에 splice 와 shift의 속도의 차이를 비교해주는 블로그 글을 읽게 되었다.
위 블로그의 글 내용 처럼 splice를 사용해서 시간초과가 발생하는 건가 싶어서 shift로 바꿔서 작성해보니 바로 통과가 되었다.
내 풀이에 대한 확신이 없었다면 솔루션을 얻고 다른 풀이로 접근했을 것이였겠지만, 한 번더 의심하고 찾아본 덕분에 풀었던 코드 그대로 통과할 수 있었다.
앞으로 queue 를 구현할 때는 shfit를 사용해야겠다.
반응형
'프로그래밍언어 > JavaScript' 카테고리의 다른 글
자바스크립트 - 실행컨텍스트란? (0) | 2022.12.30 |
---|---|
자바스크립트 배열 rotate 구현 (오른쪽, 왼쪽 회전) (0) | 2022.09.17 |
자바스크립트(JavaScript) - 표현식과 문 (0) | 2022.08.03 |
자바스크립트(JavaScript) - 변수 (0) | 2022.08.03 |
자바스크립트(JavaScript) - 스코프(Scope)란? (0) | 2022.07.14 |