WIL (Weekly I Learned)
이번주는 알고리즘 기초 문제들을 풀며 개념들을 배워보는 시간을 가졌다.
이번주에 내가 배운것
- 파이썬 기초 문법 복습
- 자료구조
- 스택, 큐, 리스트, 링크드 리스트
- 클래스
- 개념은 이해가 되었는데 미숙해서 안 보고 만들기는 어렵다.
- 정렬
- 병합정렬은 특히 중요하므로 안 보고 코딩할 수 있어야 한다.
- 시간복잡도, 공간복잡도
- 시간초과로 오답처리가 되었을 때, '아 이부분 때문에 안될 수도 있겠구나' 하는 정도로는 분간이 된다.
- 재귀함수
- 이해가 된다 -> 안된다를 재귀적으로 반복(...)하다가 지금은 어느정도 정리가 된 것 같다.
- 손코딩으로 하나 하나 써보며 왜 그렇게 동작하는 지 분석해보는 시간을 가졌다.
- 스택과 비슷하다
- 가장 먼저 들어온 것이 가장 먼저 나간다는 컨셉과 유사
- 트리
- 아직 백준 문제에서 트리를 많이 다뤄보지는 못했다.
- DFS, BFS
- 어려운 문제도 있는 반면, 쉬운 문제도 있었다.
- 어떤 상황해서는 DFS, 어떤 상황에서는 BFS가 유리한데 그것을 분간하기 어려운 것 같다.
- 동적계획법
- 이것도 문제의 난이도에 따라서 손도 못대겠는 것이 있고 너무 쉬운 것이 있기도 하다.
- 큰 문제를 나눠 작은 문제를 풀며 메모하듯이 해결해나간다는 것을 기억하자
- 디버깅
- 동기분이 디버깅 사용법을 영상으로 찍어서 올려주셨다.
느낀것
- 알고리즘은 코딩의 기초 체력이다.
- 사실 알고리즘은 두 달전부터 공부했는데 확실히 배우고 나서 코딩 전반에 좋은 영향을 끼치는 것 같다.
- 알고리즘 문제 말고도 프로젝트를 하며 직면하는 여러 문제들을 해결하는데 도움이 된다.
- 예를들어, 자바스크립트로 웹사이트에 어떤 동작을 만들고 싶은데 이전에는 막막해서 손도 못 댔던 반면 지금은 이렇게 해서 이렇게하면 되지 않을까? 라는 시도를 할 수 있게 되었다.
- 파이썬, 자바스크립트, 자바 등의 언어들은 그 컨셉이 다른 것은 확실하나 큰 얼개는 같다는 말들을 많이 들었다. 그런 대목에서 알고리즘은 모든 언어를 잘 다룰 수 있게끔 하는 기반인 것 같다.
- 알고리즘은 하면 된다.
- 1차 프로젝트 이후 지금까지 일주일을 넘는 시간동안 알고리즘에 매진하면서 많이 성장했다고 느낀다.
- 처음에는 하루에 3 ~ 4문제 풀고도 지친다는 느낌이 들었고 머리가 안개낀 것 처럼 돌아가지 않았는데 어제는 무려 15문제를 풀었다...!
- 코드 리뷰는 매우 매우 매우 매우 큰 도움이 된다.
- 문제를 풀고 팀원분들과 각자의 코드를 설명하고 리뷰하는 시간을 가지는데 실력향상에 매우 큰 도움이 된다.
- 내가 보지 못하고 지나친 필요없는 변수라던지를 다른 사람이 지적해줄 수 있다.
- 누군가에게 내 코드를 막힘없이 설명하는 것은 100% 이해했다는 증거이다.
- 내가 생각하지 못한 로직, 더 효율적이고 깔끔한 코드를 배울 수 있다.
- 손코딩의 중요성
- 그동안 오직 컴퓨터로만 풀려고하는 오기를 부렸는데 손코딩의 강력함을 깨달았다.
- 디버깅
- 엄청나게 유용하다.
- 코드가 길어질 때 문법오류가 나오는 경우가 많았는데 디버깅으로 빠르게 정정할 수 있었다.
- 반복문에서 인덱스 초과오류가 참 힘들게 했었는데 디버깅으로 잘 잡을 수 있다!
내게 아쉬웠던 것
- 변수이름
- 지난주부터 그런데 완성된 코드 볼 때마다 변수이름들이 마음에 안 든다. 함수명도....
- 문제 분석 능력
- 문제에서 원하는 답을 찾으려면 어떤 로직을 써야하는지에 대한 안목이 부족하다.
수요일에는 HTTPS에 대한 발표를 준비해서 발표를 하였다. 키노트를 처음 써봤는데 애니메이션이 유려해서 마음에 드는 프로젝트를 완성할 수 있었다. 다만 녹화와 게더 특성상 애니메이션이 조금 끊겨서 아쉽다 ㅠ
항해 99에서의 두 번째 일요일이다. 시간이 훌쩍 지나간 것 같으면서도 느린 것 같은 오묘한 기분이 든다.하루하루 문제들을 풀면서 늘어가고 있다는 것이 느껴져서 만족스러웠던 주였다.
'이모저모 > 항해99 일지' 카테고리의 다른 글
항해 99 일지 (17) (0) | 2021.03.16 |
---|---|
항해 99 일지 (16) (0) | 2021.03.15 |
항해 99 일지 (14) (0) | 2021.03.13 |
항해 99 일지 (13) (0) | 2021.03.12 |
항해 99 일지 (12) (0) | 2021.03.11 |