생활
코딩테스트 공부 순서가 있나요?
프론트엔드 개발자도 코딩테스트를 본다고 해서 코딩테스트를 위해 공부를 하려고 합니다. 코딩테스트에 나오는 문제들도 수학문제처럼 문제 유형이 다 정해져 있다는 얘기를 들었는데 보통 사람들이 주로 하는 공부방법이나 순서가 있나요?
5개의 답변이 있어요!
어느 회사의 코딩 테스트를 준비하냐에 따라 다르겠지만,
보통 많이 준비하는 삼성 SW 역량을 기준으로 설명드리겠습니다.
아래 링크는 삼성 A형(입사 시험) 기출 문제 모음집입니다.
https://www.acmicpc.net/workbook/view/1152
기출문제가 너무어려우시다면 백준에서 단계별로 풀어보기를 추천드립니다.
알고리즘 블로그는 아래를 추천드립니다.
가장 좋은건 알고리즘 책을 사서 공부하는 것이지만 사실상 쉽지는 않습니다.
무척 어렵기도 하고 완독하려면 엄청난 시간이 필요하거든요.
이직을 위한 코딩테스트 준비라면 이직하려는 회사가 어떤 코딩테스트 사이트를 사용하는지 파악하시고 그 사이트에서 예제로 내놓은 문제들을 풀면서 감을 익히시는게 가장 좋습니다.
또한 일반적인 회사들은 가장 기본적인 알고리즘과 자료구조에 대한 테스트만 하기도 합니다. 그러나 종종 중간정도의 난이도(그래프 및 문제풀이)로 내는 곳도 있습니다.
완벽하게 하고 싶으시다면 지금부터 하루에 몇 문제씩 풀어보시고 평소 코드를 작성할 때도 시간복잡도와 공간복잡도에 대해 고민해보도록 하세요.
순서는 없습니다. 다만 모두가 아는, 코딩, 알고리즘의 어떤 기본적인 부분에 대해서는 알 필요가 있겠죠. 어떤 반복문으로 어떤 조건문으로 어떤 알고리즘을 만드는지 기초적인 부분이 좀 있습니다. 그래서 그 부분 알아두시면 좋을 것 같고 관련해서 강의도 많이 있습니다. 인프런 같은데 가면 비싸지 않은 가격으로 강의도 하니까 그런거 보셔도 좋을 것 같구요. 기초 알고리즘 검색해서 알아두셔도 좋을 것 같습니다.
백준이라고 프로그래밍 문제풀이 관련해서 유명한 사이트가 있습니다.
https://www.acmicpc.net/step 여기서 단계별로 풀어보기 에서 유형별로 풀어보거나
https://solved.ac/problems/level 여기서 백준 문제들이 난이도 별로 정리되어있습니다.
https://solved.ac/problems/tags 또한 유형별로도 정리되어있습니다
보통 이 2가지를 따라서 공부합니다.생활코딩 (opentutorials.org) 여기에 가셔서 기본과 개념을 복습하세요.
그리고나서 GitHub: Where the world builds software · GitHub 여기에 가셔서
구현하고 싶은 기능에 관련된 소스나 아니면 참고하실만한 소스를 구하셔서
그걸로 연습하세요.전혀 아무런 참고할 소스조차 없다면 아무소스나 가져와서
분석하시면서 알고리즘을 학습하세요.