1주차 (01.30~02.03)
JAVA 수업이 끝나고 첫 관통프로젝트를 진행했다.
parser와 gui를 다뤄야 했는데 생각했던 것보다 더 까다로웠다.
그래도 좋은 팀원을 만나서 무사히 다 끝낼 수 있었다.
JAVA 이후에는 DB에 대해 배웠다.
전공수업으로 DB를 듣기도 했었고, 프로젝트를 하면서 mysql을 사용해본적이 있어서 이해하기 수월했다.
다음주 부터 본격적으로 알고리즘 수업이 시작되는데 너무 떨린다.
2주차 (02.06~02.10)
첫 과목평가가 있었다.
JAVA와 관련된 시험이었는데 생각했던 것보다 까다로운 문제들이 많았다.
난이도가 어렵다기 보다는 꼼꼼하게 생각해야하는 문제들이 많았던 것 같다.
그리고 알고리즘 수업이 시작되었다.
첫 주라 그런지 본격적인 알고리즘 보다는 자료구조와 같은 기본적인 내용을 배웠다.
그리고 알고리즘 스터디도 본격적으로 시작되었는데, 확실히 혼자 풀 때보다 열정적으로 풀게되는 것 같다.
특히 다른 스터디원들의 코드를 보면서 내가 짠 코드를 반성하는 시간을 많이 가졌다.
스터디 코드 리뷰를 통해 쓸 때 없이 길어지는 단축하고, 시간이나 메모리 크기를 줄일 수 있는 방법에 대해 고민을 하게 되는 것 같다.
3주차(02.13~02.17)
이번 과목평가는 SQL과 관련된 시험이었다.
이미 써본적이 있어서 자신 있다고 생각했었지만 막상 시험을 쳐보니 헷갈리는 부분들이 많았다.
앞으로 더 꼼꼼하게 공부를 해야할 것 같다.
이번주는 연결리스트, 트리, 그리디에 대해 배웠다.
그리디의 경우 명확하게 정해진 알고리즘이 없고 그때 그때 아이디어를 내서 풀어야 하는 문제이다 보니 특히 어렵게 느껴진다.
더 많은 그리디 문제를 풀어보며 연습하는 방법밖에는 없는 것 같다.
이번주도 스터디를 진행했는데, 확실히 혼자서 풀 때보다 동기부여도 되고 효울적인 코드를 짜려고 신경쓰게 되는 것 같다.
내가 짠 코드를 설명하는 능력도 개발자에게 중요한데, 나는 이런 부분이 부족한 것 같다.
스터디를 진행하며 짠 코드를 다른 팀원들에게 발표하며 설명하는 방법을 연습해야 겠다.
4주차, 5주차(02.20~02.28)
4주차 과목평가는 디버깅 테스트였다.
이론적인 부분 중심이었던 지난 테스트들과 다르게 실제 프로그래밍과 관련성이 높은 테스트라서 더 재미있고, 하고 나서의 뿌듯함도 컸다.
그리고 마지막 주 월요일에는 월말평가가 있었다.
그날 졸업식이 있었지만 월말평가는 포기할 수 없기에 시험을 보고 갔다ㅠㅠ
알고리즘 문제를 푸는 형식이었는데 마지막 문제가 생각했던 것보다 어려워서 많은 고민이 필요했다.
나중에 보니 백준 플레티넘 난이도의 문제여서 어려울만 했다는 생각이 들었다....
해당 주 부터는 본격적인 알고리즘 이론 수업이 진행되었다.
분할정복, 백트래킹, dfs, bfs, union-find, MST(kruskal, prim)등 다양한 알고리즘 이론에 대해 배웠다.
1주가 조금 넘는 시간동안 이 모든 알고리즘을 배워야 했기에 벅찰 수도 있었는데, 스터디를 진행하며 미리 예습해 두었던 것이 큰 도움이 되었다.
완전탐색, 그리디, 구현 같은 문제들에 비해 푸는 방식이 정형화되어 있는 알고리즘 문제를 풀다보니 스터디 팀원들과 코드 흐름이 비슷하다는 느낌이 든다.
그렇지만 그 안에서도 어떻게 짜냐에 따라 시간이 달라지는 것을 보면서 시간 단축을 위해 좀 더 노력해야겠다고 생각했다.
특히 java에서 내부 비교기를 쓸 때와 외부 비교기를 쓸 때 속도차이가 생각보다 많이 나서 놀랐다.
가독성 측면에서 외부 비교기가 좋지만, 알고리즘 문제를 풀 때는 내부 비교기를 사용하는 습관을 들여야겠다.
'SSAFY > 회고' 카테고리의 다른 글
[SSAFY/싸피] 1월 회고 (0) | 2023.02.05 |
---|
댓글