-
코딩테스트 준비 과정개발자 취업/코딩테스트 후기 2023. 4. 26. 12:08반응형
머리말
학부 시절부터 수많은 코딩테스트 및 대회 경험을 바탕으로 코딩테스트를 준비하는 사람들에게 도움이 되도록 작성하고자 한다. 보통의 코딩테스트는 NCS기반 직업기초능력평가와 비슷하다고 생각한다. 그 이유는 코딩테스트 몇번의 경험과 기본 지식을 갖추고 있으면 시간만 충분히 주어지면 모든 문제를 풀 수 있기 때문이다. 하지만, 시험 압박감과 제한 시간으로 인해 초조해진 마음으로 풀이를 한번에 떠올리기는 쉽지 않다.
코딩테스트에서 좋은 성적을 받기 위해서는 단번에 풀이가 떠오르지 않는다면 바로 다음 문제로 넘어가는 용기가 필요하다. 또한, 문제에서 주어지는 테스트 케이스 뿐만 아니라 예외 케이스까지 모두 통과하도록 작성해야 정답으로 인정해주기 때문에 한 문제를 풀어도 꼼꼼하게 푸는 것이 정말 중요하다.
기초 다지기
프로그래밍 언어
- 처음 준비하는 사람이라면 python / C++ / Java 순으로 추천
- 시험마다 언어 제한 확인 필요 (어떤 시험은 Java로만 응시할 수 있었음)
자료구조
- 문자열 / 배열 / 연결리스트 / 스택 / 큐 / 트리 / 그래프
- 각 자료 구조의 특성 및 활용법을 잘 알고 있어야함
알고리즘
- 구현 / 그리디 / 탐색(트리 및 그래프) / DP
- 적절한 자료구조를 바탕으로 적절한 알고리즘을 활용할 수 있어야함
시간/공간복잡도
- 코딩테스트 합격 기준
- 문제에서 주어진 케이스의 숫자가 너무 큰 경우 시간/공간복잡도가 커짐
- 시간/공간복잡도 최적화 알고리즘 사용 필요(DP / 그리디 등)
예외 케이스 생각하기
- 문제에서 주어진 내용을 꼼꼼히 읽기
- 내 로직에서 다루지 못하는 특수한 상황이 있는지 생각하기
- 테스트케이스 직접 만들어보기
연습 방법
온라인 문제 풀이 사이트
프로그래머스 - https://programmers.co.kr/
소프티어 - https://softeer.ai
백준 인기 문제집 코딩테스트를 준비하며 [백준 인기 문제집]이 큰 도움이 되었다. 신경써서 문제 선별해준 사람들에게 감사하다. 이 글을 읽는 사람들도 많이 활용하길 바란다.
코딩테스트 경험
원하는 회사의 코딩테스트를 직접 경험해보는게 가장 좋겠지만 준비가 되지 않은 상태에서 원하는 회사 채용을 기다리는 것은 매우 비효율적인 일이다. 그렇기 때문에 유사한 경험을 많이 해보는 것을 추천한다. [백준 - 대회] 및 [프로그래머스 - 인턴] 등을 신청하여 많은 경험을 쌓길 바란다.
실제 코딩테스트 유형
오프라인
정말 싫다. 이유는 시험장에 따라 네트워크 환경도 다르고 경우에 따라 물리적인 제한 사항이 많기 때문이다. 어떤 시험은 시험 1시간 전부터 대기하거나 노트북에 키보드 및 마우스 연결도 불가한 경우도 있기 때문이다. 또한, 다른 사람의 키보드 소리와 여러 환경적 요인으로 인해서 많은 어려움이 있다.
온라인
온라인 시험은 크게 실시간 여부와 감독관 여부에 따라 시험 유형이 나뉜다.
실시간 시험의 경우 모든 응시자가 동시에 시험을 치는 것을 뜻하며, 대부분의 경우가 이렇다. 실시간 시험이 아닌 경우는 응시 가능 시간(10AM ~ 10PM)을 제한하고 시험 응시 버튼을 누르는 순간부터 제한시간(1~2시간)이 흘러가는 형태이다.
감독관 여부는 시험 장소 녹화(시험 화면 공유 / 웹캠 / 모바일캠)하면서 감독관으로부터 시험 환경에 대한 검사를 맡는다. 주로 외부로부터 독립된 환경을 유지하는지에 대한 감독이라고 보면 된다.
회사 유형별 코딩테스트 난이도
- IT서비스 기업 : 상~중
- SI / SM 기업 : 중
- 금융권 : 중~하
- 공기업 : 하대부분의 문제는 실버5 ~ 골드4(백준 기준)이다. 하지만 기본적인 알고리즘과 자료구조로만 풀 수 있는 문제는 제한적이고 보통 하나의 아이디어가 더 필요한 경우가 많다. 그렇기 때문에 많은 연습과 코딩테스트 경험이 필요하다. 또한, 요즘은 SQL 문제도 나오는 추세라 기본적인 조건문과 날짜 함수 등을 알아두면 좋다.
'개발자 취업 > 코딩테스트 후기' 카테고리의 다른 글
코스콤(koscom) IT 직군 코딩테스트 후기 (3) 2023.06.10 KB국민은행 IT플랫폼개발 코딩테스트 후기 (0) 2023.06.07 KT Junior Expert 코딩테스트 후기 (0) 2023.05.14 2023 우아한테크캠프 6기 코딩테스트 후기 (0) 2023.05.07 KB국민카드(금융) 필기/코딩테스트 후기 (0) 2023.04.27