ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 코딩 테스트 공부 어렵지 않아요. (코딩 테스트 준비 전 필수!)
    교육 이야기/고민상담소 2022. 3. 23. 18:31

    *본 글은 이선협 개발자의 <코딩 테스트 광탈 방지 A to Z : JavaScript> 강의 중 일부를 재편집한 글입니다. 사용하는 언어가 JavaScript가 아니더라도 코딩 테스트를 처음 준비하는 분들 혹은 코딩 테스트에서 자꾸 떨어지는 분들에게 도움이 되는 글입니다. 

     


     

    코딩 테스트 준비 1️⃣ 알고리즘 공부할 때  

    ✅ 알고리즘 공부가 아닌 문제 해결력을 기르는 것에 집중하기

    알고리즘을 공부한다고 하면 수많은 알고리즘은 전부 알아야 하는 건 아닐까?라고 오해하기 쉽습니다. 우리는 제품을 잘 만드는 개발자가 되기 위해 알고리즘을 공부하는 거지 알고리즘을 연구하는 학자가 되려고 공부하는 건 아니니까요. 코딩 테스트는 코딩 능력과 사고 능력만 있으면 풀 수 있는 문제를 제출하기 때문에 문제 해결 능력이 더욱 중요합니다. 

     

     지망하는 회사에 맞춰 공부 범위를 정하기

    대부분 코딩 테스트는 특정 알고리즘을 알아야만 풀 수 있는 문제를 내는 경우는 많지 않기 때문에 알고리즘을 많이 공부하지 않아도 괜찮습니다. 다만, 지망하는 회사 혹은 업무에 따라 알고리즘 공부가 많이 필요한 경우가 있습니다. 예를 들어 게임 회사와 같이 알고리즘이 중요한 회사라면 알고리즘을 더 깊이 잘 아는 것이 중요합니다. 

     

     시각자료를 활용하여 공부를 즐겁게 하기

    코딩 테스트를 위한 알고리즘 공부는 대부분 사람들에게 재미가 없습니다. 재미가 없다고 해서 공부를 안 할 수는 없기 때문에 재미있게 하면 좋죠. 알고리즘은 비주얼 라이징을 한 사이트가 꽤 많습니다. 이런 시각자료를 활용하여 공부를 하면 재미없는 알고리즘도 조금은 즐겁게 공부할 수 있습니다. 

    VisuAlgo 사이트

     

    공부할 때 참고하면 좋은 사이트와 서적 
    - VisuAlgo : 알고리즘을 시각화해서 보여주는 사이트 
    - Algorithm Visualizer : 알고리즘을 시작화해서 보여주는 사이트 
    - The Algorithms : 예제 코드를 살펴볼 수 있는 사이트
    - 누워서 읽는 알고리즘 : 가볍게 알고리즘에 대해 생각해 볼 수 있는 책 
    - 프로그래밍 대회에서 배우는 알고리즘 문제 해결 전략 세트 : 코딩 테스트를 넘어 대회 수준을 준비할 경우 도움을 받을 수 있는 책

     

     

    코딩 테스트 준비 2️⃣ 문제 풀 때 

    ✅ 내가 푼 답이 베스트인지 의심하기

    여러 가지 풀이 방법이 있을 수 있기 때문에 다양한 방식으로 문제에 접근해야 합니다. 더 효율적인 풀이가 없는지 살펴볼 필요가 있습니다. 또한 실제로 문제를 풀 때 정답인 것 같은 풀이라도 엣지 케이스를 고려하지 못하면 틀릴 때가 많습니다. 그런 부분까지 꼭 체크합니다. 

     

    ✅ 다른 사람의 코드 많이 보기

    여러 가지 풀이 방법이 있을 수 있기 때문에 다른 사람의 코드를 많이 보는 게 좋습니다. 사람마다 생각하는 방식이 천차만별이라 풀이 또한 제각각입니다. 따라서 생각하지 못하는 방식을 발견할 수 있습니다. 

     

    ✅ 시행착오 기록하기

    코딩 테스트는 업무가 아닌 시험이므로 오답 노트를 적듯이 시행착오를 기록해야 다음에 비슷한 문제가 나왔을 때 더 잘 풀 수가 있습니다.

     

    ✅ 쉽게 포기하지 않기

    문제가 잘 풀리지 않더라도 그냥 넘어가지 말고 최소 세 시간 정도는 고민해 보는 게 좋습니다. 하지만 도저히 모르겠다면 며칠 동안 고민하지 말고 정답을 확인해 봅니다. 

     

     

    알고리즘을 아무리 열심히 공부하고 수많은 문제를 풀어도 결국 시험을 통과하느냐 못하느냐가 중요하죠. 실전에서도 내 실력을 100% 발휘할 수 있는 꿀팁 한 번 알아볼까요?   

     

    코딩 테스트 잘 보는 법 

    ✅ 코딩 테스트에 익숙해지기

    익숙해져야 하는 것들 중 하나는 문제 지문입니다. 코딩 테스트 문제는 불필요한 정보를 많이 담고 있습니다. 우리가 한때 언어 지문을 읽듯이 필요 없는 부분은 배제하고 중요한 것만 요약해서 읽을 필요가 있습니다. 또 시간 복잡도 계산에 익숙해져야 합니다. 내가 푼 로직에 시간 복잡도를 파악해야 제대로 풀었는지 알 수 있기 때문입니다. 마지막으로 항상 엣지 케이스를 생각하는 것에 익숙해져야 합니다. 대부분의 케이스에선 엣지 케이스가 주어지기 때문에 신경 써야 합니다. 

     

    ✅ 메모하기

    코딩 테스트는 누구에게나 긴장되는 순간입니다. 누군가에게 평가를 받는다는 생각이 들기 때문에 제 실력이 안 나올 수 있습니다. 그렇기 때문에 메모는 굉장히 중요합니다. 긴장하다 보면 찰나의 순간에도 내가 무엇을 하고 있었는지 까먹을 때가 많기 때문에 코드에 주석을 달거나 노트에 메모를 하면서 푸는 것이 좋습니다. 

     

    ✅ 디버깅 하기

    회사 업무에서도 디버깅 스킬에 따라 구현 시간이 크게 달라질 정도입니다. 우리가 천재가 아닌 이상 실수는 할 수 있기 때문에 어디에서 실수를 했는지 알기 위해 디버깅은 필수입니다. 디버깅은 거창한 게 아니라, 로직 중간에 출력 값을 찍어보는 것도 디버깅입니다. 문제가 발생한다면 머릿속으로 고민하지만 말고 디버깅을 통해 꼭 확인하도록 합시다.

     

    ✅ 사용하는 언어 특징 잘 파악하기

    사용하는 언어의 특징을 잘 알고 있다면 문제 풀 때 유리한 점이 있는데요. Python을 사용하고 있다면 bigint가 제공되며 comprehension 문법을 통해 코드를 깔끔하게 만들 수 있습니다. 비슷하게 JavaScript에선 구조 분해 할당이나 spread 오퍼레이터를 사용하면 더 깔끔하게 코드를 작성할 수 있습니다. 

     


     

    👉 코딩 테스트를 잘 보는 방법이 더 궁금하다면? 강의 보러 가기
    👉 다른 언어로 공부하고 싶다면? 바로가기 

    댓글

Programmers