들어가며
항해99의 2주차도 끝이 났다.
알고리즘 난이도가 하루하루 어려워지면서 진도를 따라가기가 벅차 방향성이나 내 공부방법이 맞는 지, 내가 바라는게 뭔지에 대한 고민을 정말 많이 하게 된 일주일이었다. 수강생분들과 얘기도 나누고, 주위 사람들에게 조언도 들으며 길을 찾아가는 모습을 보고 있으면 괜시리 뿌듯해지기도 한다.
이번주 WIL은 지난 일주일 간 배운 내용을 간단히 복습하고, 회고록을 작성해보고자 한다!
연결 리스트
각 노드가 데이터와 포인터를 가지고 한 줄로 연결되어 있는 방식으로 데이터를 저장하는 자료구조
[TIL] 05/14 항해99 6일 차 - 연결리스트, 트러블슈팅, 문제풀이
Stack
후입선출(LIFO, Last In First Out) 방식의 자료구조
[TIL] 05/16 항해99 7일 차 - 스택(Stack), 문제풀이
Queue
선입후출(FIFO, First In First Out) 방식의 자료구조.
양방향으로 삽입/삭제가 가능한 데크(deque) 라이브러리를 이용하면 더 빠르고 좋은 성능을 기대할 수 있다.
[TIL] 05/17 항해99 8일 차 - 큐(Queue), 문제풀이
해시 테이블 (해시 맵)
Key와 Value를 매핑할 수 있는 구조. 파이썬의 딕셔너리(Dictionary)와 비슷하다.
생성된 해시값이 충돌하는 경우에 두가지 처리 방법이 존재한다.
- 개별 체이닝
각 Key값 매핑되는 Value를 연결리스트로 연결하는 방식 - 오픈 어드레싱
해시 테이블을 탐색 후, 비어있는 공간에 요소를 저장하는 방식
[TIL] 05/18 항해99 9일차 - 해시 테이블, 문제풀이
그래프
정점(vertex)과 간선(edge)로 이루어진, 각 정점의 관계를 표현하는 자료구조
대표적인 그래프의 종류는 다음과 같다
- 무방향 그래프
- 방향 그래프
대표적인 그래프의 구현 방법은 다음이 있다.
- 인접 행렬
그래프를 2차원 배열로 표현하는 방식 - 인접 리스트
그래프를 연결 리스트로 표현하는 방식
그래프를 이용한 알고리즘에는 다음이 있다.
- 깊이 우선 탐색(DFS, Depth First Search)
특정 노드에서 시작해 다음 분기로 넘어가기 전에 해당 분기를 완전히 탐색하는 방식
stack과 연결 리스트로 구현한다.
백트래킹을 주로 사용한다. - 너비 우선 탐색(BFS, Breath First Search)
특정 노드에서 시작해 인접한 노드를 탐색하는 방식
큐로 구현한다.
[TIL] 05/19 항해99 10일차 - 그래프, DFS
[TIL] 05/20 항해99 11일차 - BFS, DFS vs BFS, 문제풀이
회고록
알고리즘 2주차를 시작하고나서 며칠 간은 '왜 남들은 잘 하는데 나는 못할까' 라는 물음에서 헤어나오질 못했다. 쉽다고 하는 문제들도 2시간동안 붙잡았는데 해결하지 못하는 내 자신이 싫기도 했다. 지난 주에 스스로 공부 방식을 정하고 마인드 컨트롤을 했다며 WIL의 마지막 문장을 되게 희망차게 적어놨지만 하루가 지날 수록 조바심이 나서 다시 처음으로 돌아가버리고 말았다. 그러다보니 집중력이 떨어지기 시작해서 해야할 일을 미처 끝내지 못해 새벽까지 깨어있는 경우가 많아졌다.
다짐한지 며칠이나 지났다고 또 그래?
인간은 본래 나약한 존재라고 했다. 어려운 상황에 스트레스를 받고 좌절감을 경험하는건 보통의 사람이라면 누구나 다 겪는 일이다. 하지만 성장은 고민에 고민을 거듭하되 그 생각에 매몰되지 않고 한걸음 더 나아가고자 할 때 이루어진다고 생각한다. 지난 주에 했던 고민을 이번 주에 또 하게 된다고 자책하는게 아니라 그 과정에서 의미를 찾고 해결해나갈 때 비로소 성장하는 사람이 되는 것이다.
새벽감성으로 주저리주저리 썼는데 아무튼 지금 하고 있는 고민을 가지고 같은 수강생 분들이랑 대화를 나눠보기도 하고 지인에게 조언도 구하면서 결국 지난 주처럼 다시 의욕 충만한 나로 돌아왔다. 앞으로의 알고리즘 주차는 지금 항해99의 커리큘럼이 나에게 적합하지 않다는걸 인정하고 커리큘럼의 개념은 정리하되 지금 내 수준에 맞는 문제들 위주로 풀이하기로 결정했다. 알고리즘 주차가 끝난다고 앞으로 공부를 안할 것도 아니고, 언젠가 원하는 회사에 들어가기 위해 필요한 과정이 될 수도 있기에 조급해하지 말고 길게 보는 걸로!
'Study > WIL' 카테고리의 다른 글
[WIL] 항해99 week6 (06/13 ~ 06/19) (0) | 2022.06.21 |
---|---|
[WIL] 항해99 week5 (06/06 ~ 06/12) (0) | 2022.06.13 |
[WIL] 항해99 week4 (05/30 ~ 06/05) (0) | 2022.06.05 |
[WIL] 항해99 week3 (05/23 - 05/29) (0) | 2022.05.29 |
[WIL] 항해99 week1 (05/09 - 05/15) (0) | 2022.05.16 |