시험 준비와 회고발행일 2024. 3. 23.원본 https://blog.naver.com/jword_/223392670042 ↗

코딩테스트 준비 - 난이도, 공부방법 총 정리

코딩테스트 준비 - 난이도, 공부방법 총 정리 — #개발자의도구들 #코딩테스트 #하루1코테 AI스쿨 msa기반 java 백엔드 코스 중에 공부한 내용을 작성하였...

#코딩테스트 시험 대비/후기#Naver Blog

#개발자의도구들 #코딩테스트 #하루1코테

​

AI스쿨 msa기반 java 백엔드 코스 중에 공부한 내용을 작성하였습니다

\* 멘토님(현직 개발자 - 하이퍼 커넥트)의 조언을 바탕으로 작성된 글입니다.

이미지

코딩테스트란?

코딩 테스트는 소프트웨어를 개발하는 기업에서 신입 지원자의 개발 역량을 시험하기 위해 보는 테스트입니다.

​

어렵고 창의적인 문제해결을 묻는 시험이라기 보다는, 실제 업무에서 구현할법한 문제들을 내거나, 알고리즘에 대해서 묻습니다.

​

사람이 사용하는 자연어로 문제를 물어보며, 그에 대한 해결책을 생가하고 코드로 작성해서 내는 시험입니다.

​

예시문제는 이렇습니다.

💡 요세푸스 문제는 다음과 같다.​1번부터 N번까지 N명의 사람이 원을 이루면서 앉아있고, 양의 정수 K(≤ N)가 주어진다. 이제 순서대로 K번째 사람을 제거한다. 한 사람이 제거되면 남은 사람들로 이루어진 원을 따라 이 과정을 계속해 나간다. 이 과정은 N명의 사람이 모두 제거될 때까지 계속된다. 원에서 사람들이 제거되는 순서를 (N, K)-요세푸스 순열이라고 한다. 예를 들어 (7, 3)-요세푸스 순열은 <3, 6, 2, 7, 5, 1, 4>이다.​N과 K가 주어지면 (N, K)-요세푸스 순열을 구하는 프로그램을 작성하시오.​

이렇게 지문이 주어지면 코드로 작성해서 풀면됩니다.

​

왜 코딩 테스트를 보는가?

기업이 코딩 테스트를 보는 당연히 유추해 볼 수 있습니다.

우리가 요구한 대로 코드 작성할 수 있어?

​

기업은 보통 현실세계의 문제를 해결하는데 집중하기에, 연구 조직이 아닌 이상 어렵고 복잡한 알고리즘에 대해서는 물어보지 않습니다.

​

주어진 요구사항을 빠르고 잘 코딩할 수 있는 능력을 평가하는 것이지요.

난이도는?

다다익선이기는 하지만, 너무 깊게 파고들 필요는 없다고 합니다. 시험 시간과 문제가 정해져있는 시험이기 때문에 자주 출제되는 많은 문제들을 익혀서 시험에 통과하는 목적으로 공부하는게 좋습니다.

​

최상위 기준으로 solved.ac Class 4정도(5는 과함), 프로그래머스 난이도 3정도면 어디가서 코딩 잘한다고 말해도 된다고 합니다.

​

저는 그래서 solved.ac class 4 까지 풀어보고, 프로그래머스로 넘어갈 예정입니다. 참고로 solved.ac는 백준 문제에요.

공부방법은?

저도 몇개월간 공부하면서 공부법에 대해 많이 해맸던 것 같습니다. 문제가 정말 안풀리는데 답을 보자니 내 실력이 아닌 것 같고... 그렇다고 계속 오랫동안 붙잡고 있을 수 는 없고.. 정말 막막한 시간이 있었습니다.

​

최근에 공부법에 대해 다시 질문 드렸을 때, 다음과 같은 조언을 해주셨습니다.

​ 1. 풀이방법에 대해 30분 정도 고민하고 모르겠으면 힌트를 얻어라. (구글링 검색, ex) 백준 #1234번) 이때 코드를 봐선 안된다.​ ex) BFS, DFS를 쓰면된다 정도 ​ 2. 힌트를 얻고도 30분간 모르겠으면 풀이를 봐라. 이때도 코드를 봐선 안된다. ​ 3. 이제 구현에 힘써라. 2시간 정도 구현해보고 안되면, 정답 코드와 내 코드를 비교하고 무엇이 잘못되었는지 파악하라.(이떄 코드를 봐야함)

​

핵심은 풀이방법에 대해 깊게 고민하는 것보단, 구현에 더 집중하라는 것 같습니다. 실제 풀이법을 알아도 구현을 하다보면 생각보다 시간이 오래걸리닌깐요.

​

시험장에서는 풀이방법이 바로 떠오르도록 많은 문제를 최대한 풀어보는게 좋을 것 같아요.

하루 1코테 도전!

현재 계속해서 하루 1코테 챌린지를 하고 있습니다. 학습시간 기준이며 하루 학습량은 대략 1~1.5시간 정도가 되겠습니다.

​

원래 노션에 개인적으로 노트정리를 하였지만, 혼자서 정리하는 것 보단, 함께 공유하는 것이 낫고 복습글을 작성하는게 공부효율에 좋을 것 같아 글을 계속 남겨볼 생각입니다.(못쓰면 주말에 복습하면서 작성)

​

취업은 아마 내년 이맘때쯤 준비할 예정인데, 가능하다면 최상위 코딩테스트 문제까지 푸는 실력까지 갖추고 싶습니다. 부족한게 많지만 꾸준히 해나가고 싶습니다

​

​

​