공부 6주차 회고

장근범·2022년 6월 6일
0

회고

목록 보기
6/17

느낀점🙄

코드스테이츠 백엔드 부트캠프에 참여한지도 6주가 훌쩍 지났다. 원래 일요일마다 회고를 작성하는데, 월요일이 휴일이다 보니 일요일이 토요일같이 느껴져서 월요일에 회고를 작성하게 됬다.

이번 주도 저번주와 비슷하게 알고리즘 문제풀이를 위주로 공부를 했다. 코드스테이츠에서 제공하는 문제들을 모두 풀고, 백준 온라인 저지에서 관련 문제들을 추가적으로 더 풀어보면서 공부를 했다.
이번주엔 다양한 알고리즘 문제들을 접하게 되었다. 특히 DFS와 BFS를 처음 접할 때가 가장 기억에 남는다. 코드스테이츠 교육에서 DFS와 BFS는 무엇인지 정도로만 설명이 너무 간단하게 나와있었다. 그리고 나서 문제를 풀어보라고 하는데, 문제를 풀려고 하니 너무 어려웠다. 그 때 DFS문제 하나와 BFS문제 하나 총 2가지 문제를 푸는데 6시간은 걸렸다. 😢 인접행렬을 계속 수정해가며 재귀를 이용해 푸는식으로 풀었고, 정말 겨우 풀어냈다.
그렇게 풀고나서 레퍼런스 코드를 보니 Stack, Queue 그리고 방문 확인을 위한 boolean 배열등을 이용하여 좀더 간단하게 푼 것을 확인했고, 관련 강의들을 더 찾아보니 DFS와 BFS를 푸는 방법은 어느정도 정형화 되어있는 듯 했다.

DP, Greedy, Brute Force또한 쉽진 않았다. 특히 DP가 좀 어려웠다. 그런데 요즘 코딩테스트에서 많이 나오는 추세는 아니라고 하여 지금은 더 깊게 공부하진 않고, 다른 것들 우선적으로 공부를 좀 하려고 한다. 물론 추후에 당연히 더 공부는 할 생각이다.

이번주에 문제를 풀면서, 시간 복잡도에 대해서 공부한게 큰 도움이 됬다. 이제 문제를 보면 어느정도 감이 잡히는 것 같다. 입력 데이터가 10만개 정도로 많고, 제한시간이 1~2초로 제한되어 있으면, 코드의 시간 복잡도가 O(n^2)은 절대 되면 안되겠구나라는 생각 정도는 할 수 있게 되었다.

이번 주도 저번주와 같이 코드스테이츠 문제 외에 백준 온라인 저지에서 푼 풀이 코드들을 github에 올렸고, 추가로 시간 복잡도에 대해서 공부한 내용도 올렸다. 한가지 느낀 건 지금까진 그냥 코드에 간단한 주석들만 달면서 동작 설명정도만 작성했는데, 다음부터는 풀면서 느낀점이라도 같이 써서 올릴려고 한다. 나중에 그 코드를 다시 보면 어떤 문제였고, 어떤 방식으로 접근했는지 알 수 있도록 하기 위함이다.
월요일 github는 아직 푸시하지 못했고, 블로깅 마무리 하고 마무리 하려고 한다.

백준 온라인 저지에 티어라는게 있는데, 나의 티어를 확인해보니 실버 3이였다. 그리고 문제들도 난이도가 티어로 표시되는데, 지금 나의 한계는 명확히 느껴졌다. 실버 1 문제들 까지는 시간만 많이 투자하면 풀 순 있는 정도고, 골드 문제들부턴 확실히 아직 감이 안잡힌다. 코드스테이츠 수료할 때 쯤엔 골드 문제들도 풀 수 있을 것이라 확신한다. 그러기 위해선 지금처럼 꾸준히 공부해야 할 것이다. 문제를 꾸준히 풀자 라고 생각한 날부터 매일 문제들을 풀고 있다. 어느새 푼 문제도 80개가 되었다. 지금처럼 계속 꾸준히 공부하자!

이번주에 스프링 공부를 시작해보자고 마음먹었으나, 실패하였다.😢
알고리즘이 생각보다 너무 어려웠다. 그래서 알고리즘에 시간을 더 많이 투자하게 되었고 시간이 부족했다. 다음주에는 꼭 스프링 공부를 시작할 것이다. 💪

공부한 내용😀

  • Time Complexity
  • DFS(Depth First Search)
  • BFS(Breadth Frist Search)
  • DP(Dynamic Programming)
  • Greedy
  • Brute Froce
  • Network 공부 중

어려웠거나 부족했던 내용😥

DFS와 BFS를 처음 주먹구구식으로 풀어볼 때 굉장히 힘들었다. 관련 강의들을 보니 풀이법이 어느정도 정형화 되어있었고, 처음엔 '어떻게 이런 방법으로 풀 생각을 하는거지?' 라는 생각과 함께 어느정도 좌절감 같은게 느껴졌으나, 좀 다르게 생각하기로 마음먹었다. 너무 유명한 문제들이기도 하고 응용해야 하는 문제들도 굉장히 많으니, 관련 문제들을 좀 더 풀어서 이런 풀이 방식에 익숙해져보자 라는 마인드를 갖기로 했다. 그래서 관련문제들을 백준 온라인 저지에서 더 풀어봤다. 어느정도 풀어보니 익숙해지는게 확 느껴졌다. 역시 힘들땐 반복 학습만이 답인 것 같다.

profile
항상 열심히

0개의 댓글