📆 21.10.18 ~ 21.10.24
✔️ Facts
이번 주차의 경우 알고리즘을 공부하는 시간을 가졌다. WIL이 밀려서 기억이 가물가물하지만 최대한
기억을 살려서 작성하려고한다.
공부는 파이썬 언어로 진행하였다.
1. 시간복잡도와 공간복잡도를 공부하였다.
2. 자료구조를 공부하였다.
3. 구현한 자료구조로는 링크드리스트, 스택, 큐 이다. 혼자 구현하라고 하면 소스코드를 찬찬히 보고
구현해야지 구현할 수 있을 것 같다.
4. 알고리즘을 공부하였다.
정렬 부분을 공부하였다. 공부한 알고리즘으로는 이진탐색, 버블정렬, 선택정렬, 삽입정렬, 머지병합
이었다.
5. 해당 기간 동안 백준문제를 풀어보면서 강의를 통해 배운 내용을 코드로 작성해보는 시간을 가졌다.
총 28문제를 시도하였고 23문제만 풀 수 있었다. 풀지 못한 문제의 경우 DP 개념의 부재, 이분탐색
의 실제 적용 미흡이 있었다.
🙃 Feelings
이번 주차는 어느정도 재미있게 공부할 수 있었다. 스스로 코드를 만들어보는 시간이 알고리즘 수업 특
성상 있었기 때문인데 그로 인해 좀 더 내 것으로 가져갈 수 있는 주차가 되어서 좋았다.
🔎 Findings
뭐니뭐니 해도 해당 주차를 공부하면서 발견한 내용에 대해서 정리하는 것이 가장 중요할 것인데 내 자신의
수준을 잘 파악할 수 있는 시간이 되었다.
내 수준은 백준 실버3.5(아직 확실하게 3이 채 되지 못하는 레벨). 또한 알고리즘을 배웠지만 알고리즘을 적
용해서 문제를 풀 정도의 수준은 되지 못하는 것 같다. 이를 테면 이진 탐색을 통해 해결해야 하는 문제가 있
었는데 알고리즘을 구현을 할 수는 있지만 문제에 적용시키지 못해 시간복잡도가 높은 알고리즘을 사용해서 문
제를 풀었기 때문에 시간초과가 발생하였기 때문이다.
또한 문제를 풀기 위해 필요한 알고리즘인 DP, BackTracking, DFS, BFS Graph, 다익스트라, 크루스칼 등
의 지식과 스킬셋이 부족하였다.
정리
부족한 알고리즘 지식 채우기
해당 알고리즘이 적용된 문제 풀기
알고리즘은 정말 왕도가 없는 것 같다.
😃 Future
시간이 다소 걸리더라도 내게 부족한 지식이 무엇인지 학습하고 관련 문제를 난이도가 높지 않은 문제부터 풀어
나가면서 부족한 부분을 채우는 학습을 진행해야겠다. 그리고 알고리즘 문제는 하루에 1~2개씩 푸는식으로 대비
를 해야겠다. 몰아서 할 수 있는 부분이 아니다. 뭔들 그러겠지만.