O(n)
O(n)
O(1)
O(n+1)
O(1+1)
O(1+1)
O(1)
O(n+1)
O(1+1)
O(n+1)
__str__
은 싱글리 링크드 리스트와 동일하다O(n)
만큼 더 필요하다.O(n)
O(n)
O(1)
O(n+1)
O(1+1)
O(1+1)
O(1)
O(n+1)
O(1+1)
O(1+1)
싱글리 링크드 리스트의 삭제 연산은 지우려는 노드의 바로 전 위치의 노드를 파라미터로 받는다. 따라서 tail을 지우기 위해서는 tail 전 노드에 접근해서 파라미터로 넘겨줘야한다. 따라서 비효율적
더블리 링크드 리스트의 삭제 연산을 할 때는 지우려는 노드 자체를 파라미터로 받는다. tail 노드는 링크드 리스트의 속성으로 저장하고 있기 때문에 바로 가지고 와서 삭제 연산의 파라미터로 넘겨주면 효율적으로 tail 노드를 삭제할 수 있다. 따라서 효율적
기존 if-else 문으로 복잡하게 작성했던 조건 계산 부분을 객체 리터럴을 사용해서 깔끔하게 정리할 수 있었다 (with ChatGPT)
기존
리팩토링 후
특히
formattedTimeDiff
를 사용해서 1보다 크면 unit에 s를 붙이는 것이 인상깊었다. 리팩토링할 때 아이디어가 떠오르지 않는다면 chatGPT에게 물어보는 것은 굉장히 폭발적인 힘이 있는 것 같다.
export BASE_URL = "~~"
이런 식으로 객체화를 해뒀는데, 보통은 개발을 하면서 환경 변수는 .env
에 뒀던 게 생각이 났다.(react에서 ㅎㅎ) 하지만 프레임워크나 라이브러리 없이는 사용할 수 없었다. netlify에서 하는 방법도 너무 복잡해 보임 + 어쨋든 라이브러리 설치 인 것 같아서 멘토님한테 의견을 물어본 상태이다!