Gidhub BE Developer

goodGid의 코딩 테스트 준비 방법

2019-09-08
goodGid

지극히 주관적인 생각이며 코딩 테스트 유형이 읽는 시점에 많이 달라졌을 수 있다.

머릿말

  • 생각보다 많은 분들이 코테 준비를 어떻게 했는지 물어봐주셔서

  • 이 참에 글로 정리를 하기로 마음먹었다.


  • 사실 이 글을 쓰기 전 지인들에게만 공유했던 BOJ 그룹

  • 내가 코딩 테스트를 어떻게 준비했는지 적어놨었는데

  • 그 글을 보기 위해선 가입을 신청해야하는 번거로움이 있어서

  • Public하게 이 블로그에 글을 공유하기로 하였다.


코딩 테스트 준비

  • 글을 시작하기 앞서

  • 필자의 주관적인 생각이며 절대적인 답이 아니다.

  • 단지 나는 이렇게 준비를 했음을 공유하는 것이다.


  • 모든 코테의 90%는 완전 탐색이다.

  • 시간이 없는 취준생이라면 완전 탐색만 푸는걸 추천한다.

  • 진짜로 대부분의 기업 코테는 다 뚫을 수 있다.

Why?

  • ACM과 같은 알고리즘 대회에서 성적순으로 짜르는 시스템이 아니고

  • 전체적인 평균을 넘는 지원자가 통과하는 방식이라고 생각한다.

  • 즉 완전 탐색만 문제만 제대로 풀면 평균은 할 수 있기 때문에

  • 취업을 위한 관문을 통과할 수 있다고 생각한다.


  • 취준생에게 시간은 금이다.

  • 또한 기업 코딩 테스트는 유형을 아느냐 싸움이라고 생각한다.

  • 문제풀이 시 20~30분 고민했는데

  • 알고리즘이 안떠오르면 답을 봐라.

  • 내가 했던 방식이였다.


  1. 답 코드를 보고 이해한다.

  2. 혼자서 스스로 다시 짜본다.

  3. 체크해놓고 나중에 반드시 다시 풀어야한다.


  • 답 코드를 볼 때는 코드를 거의 외우다시피 봐도 된다.

  • 그리고 중요한건 혼자서 스스로 다시 짜보는 것이고

  • 더 중요한건 나중에 다시 풀어보는 것이다.

  • 신기하게도 한번 막혔던 부분은 다음에 풀어도 똑같이 막힌다.


  • 다시 풀 때 정답 코드가 생각난다고 안푸는 사람도 있는데

  • 필자는 그래도 다시 풀었다.

  • 머릿속에 떠오르는 것과 직접 타이핑해보는 것은 정말 다르다.


  • 지극히 주관적인 생각이지만

  • 알고리즘 기초가 없다고

  • BOJ 단계별 알고리즘으로 기초를 쌓으려고 한다면

  • 아주아주아주아주아주아주아주아주아주 반대하고싶다.


  • 알고리즘 실력을 길러서 코테를 뚫는다 라고 생각하지말고

  • 코테를 뚫기위한 문제를 풀고 스킬을 쌓아서 코테를 뚫자 라고 생각하자.


  • 그래서 내가 추천하는 방법은

  • 프로그래머스로 기초적인 사고력 + 구현 능력을 쌓고

  • 바로 완전 탐색 문제를 푸는 것이다.


  • 여기서 완전 탐색 문제가 어려워서 못풀겠다고

  • 포기해야겠다 생각이 들면 그렇게 해도 된다.

  • 단 그러면 취직 시기가 늦어질 것이다.


  • 완전 탐색 풀 수 있는 능력 = 기업 코테 뚫을 수 있는 수준이라고 생각하면 된다.

  • 그렇기 때문에 완전 탐색 문제를 풀 수 있는 능력이 없다면

  • 코테를 뚫을 수 있는 수준이 아니라고 생각한다.


  • 그러면 2가지 방법이 있다.
  1. 끈질기게 공부해서 수준을 올리냐

  2. 코테보지 않는 기업을 지원하느냐


  • 기초적인 코딩을 위해서 프로그래머스를 활용하자

  • 프로그래머스 사이트 -> 코딩 테스트 연습 -> 모든 문제 -> 레벨 1,2 에 있는 문제를 가능하면 다 풀자 !

  • 풀다 모르겠으면 필자 블로그를 참고하자

  • https://goodgid.github.io/tag/#Programmers


  • 프로그래머스 문제를 다 풀었다면

  • 이제 본격적으로 완전 탐색을 조지자 !!!


  1. ( 삼성을 노린다면 ) SWEA 사이트 문제를 조지자.

  2. BFS 혹은 DFS 관련 문제집을 조지자.

  3. BOJ에 있는 삼성 기출 문제집을 조지자.


  • 프로그래머스 + 완전탐색

  • 2개만 해도 충분하다고 생각한다.

  • 무엇보다 2개하는것도 시간이 부족하다.


  • 삼성 코테를 노린다면

  • 추천 문제 풀이 순서는

  • 2 -> 3 -> 1 이다.

  • 완전 탐색 유형을 익히기 위해서 2번으로 시작을 추천한다.

  • 그리고 풀어보면 알겠지만 1,3번의 문제 유형이 다르다.

  • 삼성 코테에 최적화된 유형은 1번이다.

  • 그렇기 때문에 1번을 마지막으로 풀면서

  • 삼성 코테에 최적화된 환경에 익숙해지는 것이다.


  • 만약 삼성 코테를 노리지 않는다면

  • 2 -> 자유롭게 하면된다.

  • 1,3은 삼성을 위한 유형이라 굳이 풀지 않아도 된다고 생각한다.

  • 물론 시간이 된다면 풀어도 좋겠지만

  • 다른 기업 코테에서 삼성 처럼 긴 지문으로 나오는걸 본적이 없다.


  • 완전 탐색 문제가 어렵게 다가올 수 있다.

  • 그런데 문제 자체가 어렵다기 보다는

  • 그런 문제 유형에 익숙하지 않아서 어려운게 대부분이다.

  • 문제 유형에 익숙해지면 진짜로 생각보다 쉽다.

  • 스스로를 믿고 해보자 !!!


맺음말

  • 혹시 풀다가 모르는 문제가 있다면 필자 블로그를 참고해보자.

  • 필자 블로그가 좋다고 확신은 못하니 다른 블로그를 참고해도 된다.

SWEA 사이트에서 모의 문제 최소 2~3번씩 풀기

  • https://www.swexpertacademy.com/

  • 블로그 : https://goodgid.github.io/tag/#SWEA

BOJ에 있는 삼성 기출 문제집 풀기

  • https://www.acmicpc.net/workbook/view/1152

  • 블로그 : https://goodgid.github.io/tag/#BOJ


열심히 준비하여 자기가 가고자하는
기업에 취직하자 !!!

E.T.C

  • 추가로 기업 코딩 테스트 환경은 90% 프로그래머스이다.

  • 프로그래머스의 특징은

  • 웹 에디터이기 때문에 브레이크 포인트를 사용한 디버깅이 불가능하다.

  • 그리고 만약 카카오 코테를 준비한다면 map,set 사용법은 무조걱 익혀놓자 !

  • 참고로 map = set + @ 라고 생각하면 된다.

  • 그렇기 때문에 map을 익히면 set은 안써도 된다.

  • set으로 해야하는 문제들을 map으로 다 풀 수 있다 !


Similar Posts

Comments