코딩테스트 공부법
1.
노션에 있는 알고리즘 용어들을 훑고 간다.
비전공자 분들은 기초적인 파이썬 사용법부터 마스터하고 진행.
2.
프로그래머스 및 백준 등의 코테 사이트에서 문제들을 풀어본다.
개인적으로 추천하는 알고리즘 입맛 다시기 문제들 (알고리즘 별로 나와있음)
3.
문제 풀이는 최대 1시간까지 진행해보고 모르겠으면 구글링을 통해서 찾아본다.
구글링을 통해 찾아본 경우 해당 코드가 어떻게 동작하는지 디버깅이나 손코딩을 통해서 이해해야 한다.
4.
블로그나 노션 페이지에 문제 풀이를 기술한다.
5.
푼 문제 중 개선이 필요한 거 같은 문제, 어려웠던 문제, 시행착오가 있던 문제 중 1개를 택해서 모임시간에 코드리뷰를 진행한다.
코드리뷰 순서
a.
우선 발표자의 코드를 모두에게 나눠준 다음 각자 코드를 볼 시간을 가진다. (약 3~5분정도)
b.
간단하게 문제를 설명하고 사용한 로직을 설명한다.
이 때 코드는 주석을 제외한 코드로 제공한다.
* 만약 풀지 못하고 구글링으로 찾아본 문제면 풀어본 데까지의 코드 1개와 찾아본 코드 1개 두 가지를 순서대로 발표한다.
c.
이후 리뷰 피드백을 진행한다.
i.
칭찬 피드백 (1싸이클)
코드에 대한 칭찬, 배운 점을 말해준다.
ex)
•
코드량이 적당해서 읽기 편하네요.
•
많은 고민이 코드에서 엿보이네요.
•
성능에 아주 유리한 코드라고 생각되네요.
•
전에 코드보다 훨씬 좋아진 거 같네요.
•
예외 처리가 꽤 꼼꼼해서 좋네요.
•
함수, 변수명이 직관적이어서 좋네요.
•
오 이런 내장함수가 있나요? 정말 유용하네요!
ii.
리뷰 진행 (토론형식으로 1~2싸이클만 진행, 단. 토론당 5~10분선에서)
너무 오래 리뷰를 진행하면 지식이 혼잡해지고 발표자도 지침
ex)
•
로직이 복잡하지 않은가?
•
복잡도 단축 방법이 있나?
•
개선점이 있다면 어떻게 개선할지 방향을 제시해준다. (절대 답을 알려주지말고 방법을 알려줘야 한다. 스스로 찾게한다.)
•
비슷한 문제에서 해결했던 경험 제시
•
변수명, 함수명이 일관적인가?
추천 코드리뷰 관련 블로그 : https://hyeon9mak.github.io/code-review-know-how/
완벽을 추구하기 보단 더 나은 내가 되기 위한 발판으로 생각하고 코드 리뷰에 임할 것!
어디까지나 누가누가 코딩 잘하나 대회가 아니라 스터디다.