코딩테스트 준비 후기
코딩테스트의 합격률이 높다고 보기는 힘들지만 제가 준비해왔던 과정을 남겨보고자 합니다!
Python
비전공자이기에 Python을 학습하게 되었고 자연스럽게 Python이라는 언어로 시작하게 되었습니다.
처음에는 교수님께서 라이브러리를 사용하지 않고 문제를 풀도록 해주셨기에 의문이 다소 있었습니다만 결국 그렇게 했기에 더 사고를 확장할 수 있었습니다.
코딩테스트를 급하게 준비하셔야 한다면 기본적인 라이브러리 학습은 필수적으로 하셔야하나 처음 시간을 두고 학습하시는 것이라면 천천히 사고를 확장하며 이후에 학습하시고 활용하셔도 충분하다고 생각합니다.
이것이 취업을 위한 코딩테스트다 (이코테)
이 책을 보신 분들도 많이 계실 것이라 생각합니다. 가장 기본적인 내용부터 코딩테스트에 많이 사용되는 내용을 위주로 이론부터 실습문제까지 이어졌습니다.
저는 SSAFY 수업을 통해 학습하고 부족하다고 생각되는 부분을 이 책에서 찾아서 학습하는 방식으로 활용하였습니다.
SW Expert Academy (SWEA)
삼성을 희망하신다면 필수적으로 아실만한 사이트라고 생각합니다. 하지만 제가 지원하는 기업의 특성상 스타일이 맞지 않다고 생각하여 수업에 대한 실습이나 과제로만 풀었고 따로 풀지는 않았습니다.
BAEKJOON (백준)
거의 2~3달 정도에 골드2까지 달성을 하였습니다.
처음에는 '문제집 - 인기'에 있는 문제를 위주로 풀었습니다.
이후에는 특정 알고리즘을 쓰는 문제들을 파가면서 풀었습니다.
그리고 solved에 있는 class문제를 5레벨을 최대치로 하여서 컨디션에 따라 골라서 풀었습니다.
마지막으로 백준의 강의에 있는 알고리즘 중급에서 '포함되어 있는 문제'에 있는 문제들을 풀었습니다.
백준을 풀 때, 제 기준은 코딩테스트를 여러 번 응시하며 제가 원하는 기업들에서 나올만한 문제가 무엇인지 파악하고 그에 맞는 문제들만 풀자는 것이었기에 실력이 부족하시더라도 꼭 코테를 겪어보시기를 추천드립니다.
추가로 제가 목표로 하는 기업들은 상대적으로 상당히 어려운 알고리즘을 쓰는 경우가 없다고 판단하였기에 이해하는 것만으로도 오래 걸리는 알고리즘은 학습하지 않았습니다.
Programmers (프로그래머스)
많은 기업에서 코딩테스트를 진행할 때 프로그래머스 환경을 사용합니다. 그렇기에 기본적으로 프로그래머스 문제를 풀어보며 이 환경에 익숙해지는 것이 필수적으로 필요합니다.
알고리즘과 관련하여서는 문제가 좋다고는 생각하나 다른 사이트에서도 충분히 풀어야 할 문제가 많다보니 자연스럽게 이 사이트에서는 학습하지 않았던 것 같습니다.
그리고 SQL 고득점 Kit에 있는 문제는 필수적으로 다 풀어봐야 합니다. 그리고 문제마다 조금씩 다르게 다양한 풀이가 있는데 구글링을 통해서 다른 분들의 다양한 풀이법을 학습하였습니다.
LeetCode (리트코드)
LeetCode는 문제부터 모두 영어로 되어있습니다. 하지만 제가 느끼기에는 가장 실제 코딩테스트와 문제의 결이 비슷하다고 느꼈기에 이 사이트에서 문제를 풀었습니다.
정확히는 'Top Interview Questions'에서 Hard 문제를 제외하고 풀었습니다. 그리고 여기서도 제가 원하는 기업들에서 나오지 않을만한 문제라고 판단되면 문제를 넘기며 풀었습니다.
요약하면 '이론 학습 - 기초 문제 풀기 - 주요 알고리즘 학습 및 문제 풀기 - 코딩테스트 - 스타일에 맞는 문제 풀기' 입니다.
그리고 제가 생각하는 결론은 '어느 정도의 수준까지 올려두고, 원하는 기업에 맞는 문제를 풀자'입니다.