반응형
1. 연결리스트
연결리스트의 개념 자체는 어렵지 않았습니다만 빈 에디터에 직접 처음부터 구현하는 것이 까다로웠습니다.
직접 구현해보는 것은 자주 해야 잊어버리지 않을 것 같습니다.
연결리스트 과제 대부분 코딩테스트라는 점 보다는 기술 면접에 나올 법한 질문들이라는 생각이 들었습니다.
따라서 구현을 처음부터 직접 해본 후 문제를 푸는 것이 훨씬 수월했습니다.
2. 스택
스택 또한 구현이 기본이 되어야하지만 문제를 마주했을 땐 구현을 하는 것과 문제를 푸는 것은 다른 영역이라는 생각을 했습니다.
왜냐하면 파이썬의 list자체가 스택의 성격을 가지고 있기 때문입니다.( 이는 큐 역시 마찬가지 입니다. )
3. 큐
큐 역시 스택과 같이 파이썬 collections의 deque 라이브러리를 사용하면 간단하게 구현이 가능했습니다.
큐에 관련된 문제를 풀다가(백준 1966번) 다음과 같은 에러가 생겼습니다.
RuntimeError : deque mutated during iteration
for 문 안에서 큐의 데이터가 변경되면 만날 수 있는 에러였습니다.
4. 해시테이블
해시테이블의 경우 연결리스트나 스택, 큐보다 구현이 복잡했으며 이해하는데 어려웠지만
특히 해시테이블 방식 중 개별 체이닝 방식은 연결리스트의 개념이 함께 들어있어서 이해하는데 시간이 오래 걸렸습니다.
직접 구현하는데까지는 아직 시간 투자가 필요합니다.
하지만 파이썬의 경우 딕셔너리 자료구조가 해시테이블로 이루어져 있어서 쉽게 이용할 수 있었습니다.
반응형
'부트캠프' 카테고리의 다른 글
[16일차] TIL - Week2 Test (0) | 2022.03.24 |
---|---|
[13일차] TIL - Back Tracking (0) | 2022.03.21 |
[11일차] TIL (DFS) (0) | 2022.03.18 |
[10일차] TIL - Week1 Test (0) | 2022.03.17 |
[9일차] TIL (Hash Table) (0) | 2022.03.16 |