본문 바로가기
Memo/BootCamp : TIL

[Day 35] [자료구조 / 알고리즘] Tree, Graph, Binary Search Tree, Search Algorithm 문제 풀이

by 달의 조각 2022. 7. 27.

학습 주제

 

트리 및 그래프의 탐색 기법
자료구조를 활용하여 알고리즘 문제에 접근

 


 

새롭게 배운 내용

 

2022.07.26 - [Etc/Algorithm] - 자료구조 - Tree, Graph, Binary Search Tree, Search Algorithm

 

자료구조 - Tree, Graph, Binary Search Tree, Search Algorithm

Tree, Graph 트리 및 그래프의 탐색 기법에 대해 이해 - Binary Search Tree - BFS와 DFS 자료구조를 활용하여 알고리즘 문제에 접근 Tree 단방향 그래프의 계층적 비선형 구조 데이터가 바로 아래에 있는 하

cookiee.tistory.com

 

🧑‍💻 선배적 참견 시점

 

1. 깃 마스터 하기

커밋 메시지도 예쁘게

https://git-scm.com/book/ko/v2

2. 개발을 모르는 사람에게 설명하는 것처럼 포스트 작성해 보기

이를 위해 공부가 필요하고 기억에 오래 남으며, 자연스럽게 내 것이 된다

ex) 라이브러리 vs 프레임워크

3. 내가 짠 코드는 기록

나중에 사용할 것 같은 것은 쉽게 가져다 쓸 수 있도록 (잔디 심기 가능, 구글링 시간 또한 단축 가능)

4. 눈 코딩 하지 않기

5. 혼자 하지 않기

 

 

보강할 내용

 

🌳 코플릿 (10, 11) 12, 13 다시 풀기

🌳 Side Effect, edge case
🌳 깊은 복사와 얕은 복사 - Arrays.copyOf

🌳 Deque
🌳 Linked List
🌳 Hash Table
🌳 Heap Tree

 

 

회고

 

Tree와 Graph, 탐색 개념을 활용하여 문제를 푸는 시간을 가졌다.

알고리즘 문제를 보면 어떻게 해결하면 좋을지 머릿속으로 그려지긴 하는데, 코드를 작성하려고 하면 이걸 어떤 자료구조를 활용하여 로직을 작성해 나가야 하는지, 우선 어떤 변수가 필요한지부터 막히곤 했다.

단순한 문제를 풀 때는 많은 문법이 사용되지 않아서 머릿속으로 해결 방법이 떠오르는 대로 코드를 작성했다. 그런데 문제의 길이가 길어지고 조건이 많아지며 단순히 하나의 로직으로만 풀리는 문제가 아니라면 더 많은 시간이 소요될 것이다. 의사 코드의 중요성을 여기서 깨달았다. 일단 뭐라도 적어 가며 정리하면 문제를 좀 더 작은 단위로 나눠서 설계할 수 있다.

사실 처음에는 내가 도전해서 못할 게 뭐가 있어? 이런 태도로 문제를 풀다가 생각이 생각의 꼬리를 물고 깊게 들어가게 되니까 멍해졌다. 그 하나의 생각의 꼬리를 놓치면 더욱 머릿속이 혼란스러워서 자괴감이 든다. 이건 차근차근 반복해서 익숙해진다면 자연스레 극복될 문제라고 생각이 든다. 어떤 개념이든 처음부터 쉬운 건 없다. 좌절에 빠지지 않고 더 쉬운 문제들도 찾아서 풀어 가며 내 것으로 만들어야겠다.

 

 

 

★★★☆☆

댓글