03 : 알고리즘

Judy Kim·2021년 8월 23일
0

JavaScript

목록 보기
3/3
post-thumbnail

Introduction

대학생 때 배운 자료구조를 다시 보니 반가웠다. 자바스크립트로 구현하려니 조금 어색했지만 금방 적응하고 있다. 코딩테스트도 앞으로 자바스크립트로 볼 수 있도록 준비해봐야겠다.

새롭게 배운 것

1. 해시테이블

(Key, Value)로 데이터를 저장하는 자료구조. python에는 dictionary라는 데이터 타입이 따로 있는데 javascript에서는 Object라는 이름으로 사용하고 있다는 것을 알게 되었다. index로 값을 접근하는 것은 역시 시간복잡도가 적다는 게 좋다.

깨달은 것

1. 자바스크립트 배열

자바스크립트의 배열이 동적이고, 객체로 취급된다는 사실이 예전에는 딱히 중요치 않았는데 구현을 하다보니 배열을 선택할지, 연결 리스트를 만들지 고민할 때 중요할 것 같다. 직접 콘솔에 타입을 찍어보니 객체라는 게 이해가 된다. 배열의 인덱스 값에 string이나 boolean 값이 들어갈 수 있다는 게 재밌었다.

2. 스택과 큐의 peek() 함수

peek()이 내장함수인 줄 알았는데 직접 구현해야 한다. 어떤 사람은 array[0]으로 대신하던데 앞으로 귀찮을 땐 그렇게 해보고자 한다. 배열로 스택을 사용하는 방법은 추후에 포스팅해보고자 한다.

3. shift() 함수

shift 함수에 선형 시간이 걸리기 때문에 되도록 쓰지 않는 것이 좋다.

4. Map(), Set()

자바스크립트에도 Map과 Set이 있다는 걸 처음 알았다. map은 set과 get으로 사용하고, 다양한 메소드를 제공한다. set은 중복 내용을 제거할 때 사용한다.

Comment

  1. 자료구조 구현은 시작하기에 두려울 때가 있다. 하지만 한번 해보면 쉽게 잊어버리지 않는 것 같다. 계속 구현에 도전하고자 한다.
  2. 코드를 작성하다보니 javascript lint를 잘 맞추고 싶다는 생각이 들었다. 이번주 안에 좀 찾아봐야겠다.

참고링크

profile
Cheerful Adventurer

0개의 댓글

관련 채용 정보