대학생 때 배운 자료구조를 다시 보니 반가웠다. 자바스크립트로 구현하려니 조금 어색했지만 금방 적응하고 있다. 코딩테스트도 앞으로 자바스크립트로 볼 수 있도록 준비해봐야겠다.
(Key, Value)로 데이터를 저장하는 자료구조. python에는 dictionary라는 데이터 타입이 따로 있는데 javascript에서는 Object라는 이름으로 사용하고 있다는 것을 알게 되었다. index로 값을 접근하는 것은 역시 시간복잡도가 적다는 게 좋다.
자바스크립트의 배열이 동적이고, 객체로 취급된다는 사실이 예전에는 딱히 중요치 않았는데 구현을 하다보니 배열을 선택할지, 연결 리스트를 만들지 고민할 때 중요할 것 같다. 직접 콘솔에 타입을 찍어보니 객체라는 게 이해가 된다. 배열의 인덱스 값에 string이나 boolean 값이 들어갈 수 있다는 게 재밌었다.
peek()이 내장함수인 줄 알았는데 직접 구현해야 한다. 어떤 사람은 array[0]으로 대신하던데 앞으로 귀찮을 땐 그렇게 해보고자 한다. 배열로 스택을 사용하는 방법은 추후에 포스팅해보고자 한다.
shift 함수에 선형 시간이 걸리기 때문에 되도록 쓰지 않는 것이 좋다.
자바스크립트에도 Map과 Set이 있다는 걸 처음 알았다. map은 set과 get으로 사용하고, 다양한 메소드를 제공한다. set은 중복 내용을 제거할 때 사용한다.
참고링크