느리더라도 꾸준히

[코딩테스트]코딩테스트 어떻게 준비할까? 본문

개발/개발공부법

[코딩테스트]코딩테스트 어떻게 준비할까?

테디규 2022. 3. 14. 10:59

1.언어 선택

  1. 가장 편한 언어
  2. 직군관련 언어
  3. 서브언어

나에게 있어서는 자바 or 파이썬/JS 이 될 거라고 생각한다.

2. IDE

지원 회사마다 사용할 수 있는 IDE사용유무/ 종류가 다르므로 잘 확인해보자.

3. 코딩테스트 연습 플랫폼

기업마다 플랫폼별 기업이 다른데, 가장 많은 기업의 시험을 다루는건 프로그래머스 이다.

백준

  1. 방대한 문제수
  2. 유형별 문제집
  3. 삼성 기출 문제집
  4. 풀이 다양함.

프로그래머스

  1. 가장 많은 시험진행(대부분의 공채가 진행)
  2. 코딩테스트 고득점 키트(문제는 적지만 좋은 유형)
  3. 카카오 기출 문제집
  4. SQL 문제집(금융권 대비)

SW Expert Academy

  • 삼성시험환경과 동일함(삼성지원 하고싶다면 필수체크)
  • 입출력 형태/ 문제 서술 방식(조금 정리가 안된 느낌)

2. 준비 단계별 공부 순서

Lv1

  1. 언어 기본 문법 익히기
  2. ide, 온라인 코딩테스트 플랫폼과 친해지기.
  3. 백준 브론즈~실버문제

LV2

  1. 기본 알고리즘/자료구조 공부
    • 완전탐색, DFS/BFS/ 시뮬레이션(구현), 큐, 스택, 우선순위큐, 해시맵 등
  2. 문제 풀고 습득
  3. 삼성 기출 문제
    • 가장 기본적인 알고리즘 유형을 공부하는데 적합한 문제들이 나옴.

LV3

  1. 시간 재고 문제 풀기
  2. 실제 시간보다 넉넉-같게-부족하게
  3. 반복, 또 반복하기.
  • 사실 이 단계 까지만 해도 서류는 통과할수 있음

LV4

  1. 중상급 알고리즘 개념 공부
    • DP, 문자열처리, 이분탐색, 투포인터, 위상정렬, 크루스칼, 다익스트라, 플로이드와샬, 트라이, 유니온 파인드 등
  2. 문제 풀어서 습득하기
    • 카카오 기출문제

추천 알고리즘 교육

  1. 삼성 SDS/전자 알고리즘 교육
    • LV4이상 추천
  2. 바킹독 알고리즘 강의(유튜브)

경험담

  1. 쉬운 문제 풀기로 시작
    • IDE, 플랫폼에 익숙해지기.
    • 흥미 들이기
    • 기본 알고리즘(DFS/BFS)
      • 일주일 이내
  2. 삼성 기출 풀기
  • DFS/BFS 구현문제
  • 두바퀴 돌림

1번째 : 무작정풀기
2번째 : 시간재고 풀기
하루 이틀에 한문제씩은 품.


  1. 삼성기출 + 프로그래머스
  • 삼성기출 복습
  • 프로그래머스 고득점 키트 및 연습문제들
    • 하루에 한두문제씩은 필수로
    • 아예 감이 안잡히는 문제는 따로 알고리즘을 공부하고 문제를 풀이.
  1. 삼성 SDS 알고리즘 강의
  • 실버 ~ 골드 난이도 알고리즘
  • 위상정렬, 유니온 파인드 등 중급 개념
    • 하루에 다섯문제씩
  1. 카카오 기출문제
    • 카카오 인턴 및 블라인드 기출
    • 중고난이도 문제 풀기
    • 하루 한두문제씩
  2. 코딩테스트 실전
    • 서브언어로 봐야한다면, 문법 정리후 고득점 키트공부
    • 삼성 코테 전 기출 한바퀴 복습
    • 금융권 코테전에는 SQL문제집 두바퀴
    • 시험직전 꾸준히 필요할때마다 알맞게 공부

  1. 문제 풀다가 정말 모르겠을때는 어떻게 해야할까

  1. 백준의 문제분류를 보고 내가 풀어본 문제분류인지/처음보는 문제분류인지 구별한다.
  2. 처음보는 문제분류이면, 해답을 보고, 백준의 문제집이나 강의들을 통해 쉬운단계부터 공부해온다.
  3. 풀어본 문제분류라면 이 문제분류의 방향대로 풀어본다.
  4. 맞게 푼거 같은데 틀렸다면, 어쩔수 없이 다른 사람이 올려놓은 것을 본다.

  1. ide 없이 온라인에 푸는 연습하기
    • 자동완성 없이 하는 습관이 필요하다.
  2. 무작성 손부터 나가는 코딩습관을 고치자.
    • 문제 풀기 전에 방법부터 생각.( 종이에서 생각을 써놓고 구현하자 )
  3. 시간 복잡도 생각해보기
    • 최악의 입력값에 대해 알고리즘이 시간초과가 나지 않는지 코딩전 고려해야함.
  4. 엣지케이스 고려하기
    • 자료형, out of bound에러 등의 범위 주의
    • 최소/ 최대의 크기일때
  5. 대학교 정규 수준 이상의 문제는 거의 나오지 않는다.
    • 너무 deep한 알고리즘을 공부할 필요는 없다.
  6. 공짜 실전 경험
    • 서류 제출없이 코테를 보는 기업들에 무지성 지원하자.
    • 프로그래머스 데브매칭/월간 코드 챌린지 등 떨어지더라도 다 지원하고 피드백해보자.
  7. 많이 많이 풀어보기
    • 알고리즘은 재능의 영역이지만, 코딩테스트는 노력의 영역이다.
    • 무작정 많이 풀기보다는 유형/분야별로 정복하자.
  8. 지치지 않기, 포기하지 않기

'개발 > 개발공부법' 카테고리의 다른 글

어떻게 개발 글의 블로깅해야할까?  (0) 2022.11.07
기술 블로그 시작하기(RE)  (0) 2022.10.20
몰입 학습  (0) 2022.10.19
문서화  (0) 2022.03.31
[코딩테스트]코딩테스트 어떻게 준비해야할까?  (0) 2022.03.14
Comments