패스트캠퍼스 백엔드 개발 4기 부트캠프_개발자 필수코스! 코딩테스트🖥️

HJoo·2023년 3월 13일
0

DAYistory

목록 보기
2/8
post-thumbnail


안녕하세요! 패스트캠퍼스의 백엔드 개발 과정 부트캠프 4기 수강생 HJoo입니다.
오늘은 개발자가 되기 위한 필수 코스인 코딩테스트에 대해 알아보려고 합니다.


코딩테스트란?

코딩테스트는 프로그래밍 능력을 평가하는 시험입니다. 프로그래밍 언어를 사용하여 알고리즘 문제를 해결하는데요! 일반적으로 기술 면접과 함께 채용 프로세스의 일환으로 사용됩니다.

코딩테스트는 시험시간에 제한을 두고, 일정한 시간 내에 주어진 문제를 해결하도록 합니다. 많은 기업들이 코딩테스트를 통해 새로운 개발자들을 채용하고, 개발자들의 능력을 평가하고 향상시킵니다.


코딩테스트 출제 유형

코딩테스트에서 출제되는 문제의 유형은 총 7가지로 정리할 수 있습니다:)

1. 알고리즘

대표적으로 정렬, 탐색, 그래프 이론 등의 알고리즘 문제가 출제됩니다. 이 외에도 동적 계획법, 분할 정복, 탐욕 알고리즘 등의 문제도 출제될 수 있습니다.

2. 자료구조

배열, 스택, 큐, 해시 테이블, 힙 등의 자료구조를 다루는 문제가 출제됩니다. 이 외에도 연결 리스트, 트리 등의 자료구조를 다루는 문제도 출제될 수 있습니다.

3. 문자열 처리

문자열 검색, 정규 표현식, 편집 거리 등의 문제가 출제됩니다.

4. 시뮬레이션

게임, 시스템 구현 등의 문제에서 자주 출제됩니다. 입력과 출력 형식, 예외 처리, 문제 해결 과정 등을 구현하는 데 필요한 기술이 요구됩니다.

5. 수학

최대공약수, 최소공배수, 소수 판별 등의 수학적 문제가 출제됩니다. 이 외에도 조합론, 확률, 기하 등의 수학적 문제도 출제될 수 있습니다.

6. 데이터베이스

SQL을 이용한 문제가 출제됩니다. 주어진 데이터를 검색, 삽입, 삭제, 수정하는 쿼리를 작성하는 능력이 요구됩니다.

7. 웹 백엔드

HTTP, RESTful API, 세션, 캐싱, DB 연동 등의 웹 백엔드 개발에 관련된 문제가 출제됩니다.

가고자 하는 회사의 코딩테스트 문제 중에 자주 출제되는 문제 유형들을 잘 숙지하고, 문제를 풀기 위한 알고리즘과 자료구조를 활용하는 능력을 기르는 것이 코딩테스트에서 좋은 성적을 거두는 핵심 요소 중 하나입니다!


코딩테스트 준비 방법

1. 프로그래밍 언어 학습

코딩테스트에서는 프로그래밍 언어를 사용하여 문제를 해결해야 합니다. 따라서, 자신이 문제를 풀기 편한 언어를 선택하고 그 언어에 대한 기초적인 문법 등을 학습해야 합니다.

2. 알고리즘 및 자료구조 학습

코딩테스트에서 출제되는 대부분의 문제는 알고리즘과 자료구조와 관련이 있는데요! 따라서, 문제를 풀기 위해 자신이 선택한 언어에서 사용 가능한 자료구조 와 알고리즘을 학습하고 연습해야 합니다.

3. 코딩테스트 사이트 활용


코딩테스트를 준비하는 가장 쉬운 방법은 코딩테스트 문제를 풀어보는 것인데요! 이를 쉽게 할 수 있는 방법은 코딩테스트 사이트를 이용하는 것입니다.
코딩테스트 사이트를 이용하면 한 사이트에서 기업에서 출제한 문제도 풀어볼 수 있으며 난이도 별로 문제를 풀면서 한 단계씩 실력을 업그레이드할 수 있다는 장점이 있습니다. 또한 내 풀이가 아닌 다른 사람의 풀이를 보고 인사이트를 얻을 수도 있습니다.

대표적으로 많이 사용하는 사이트는 다음과 같습니다:)

백준 (https://www.acmicpc.net/)
알고리즘 대회 등에서 사용되는 사이트로, 기본적인 알고리즘 문제부터 고급 알고리즘 문제까지 다양한 난이도의 문제를 제공합니다. 대부분의 문제는 한국어로 제공되며, 한국 내 기업 채용 프로세스에서도 사용되는 사이트 중 하나입니다.

프로그래머스 (https://programmers.co.kr/)
한국 내 기업 채용 프로세스에서 자주 사용되는 사이트 중 하나입니다. 알고리즘 문제부터 SQL, 웹 백엔드, 프론트엔드 등 다양한 분야의 문제를 제공하며, 코딩테스트 뿐만 아니라 실제 개발 프로젝트도 수행할 수 있습니다.

이 외에도 초보자를 대상으로 기초적인 프로그래밍 문제를 제공하는 코드업 (https://codeup.kr/), 삼성전자에서 운영하는 코딩테스트 사이트인 SW Expert Academy (https://swexpertacademy.com/), 알고리즘 문제를 중심으로 문제를 제공하는 알고스팟 (https://algospot.com/) 등이 있습니다!

4. 문제 해결 연습

코딩테스트는 많은 문제를 푸는 것이 중요합니다. 많은 문제를 풀면서 자신이 선택한 언어와 사용 가능한 자료구조 및 알고리즘을 익힐 수 있습니다. 또한, 다양한 유형의 문제를 해결하는 것이 좋습니다. 미리 다양한 유형과 난이도를 접한다면, 실제 테스트를 볼 때 좀 더 수월하게 풀 수 있을 것입니다:)

5. 그룹 스터디

그룹 스터디를 통해 다른 사람들과 함께 문제를 푸는 것이 좋습니다. 풀기 어려웠던 문제를 공유하며 서로 피드백을 주고 받고, 함께 코딩 실력을 성장시킬 수 있습니다.

6. 모의 코딩테스트

모의 코딩테스트를 통해 실제 코딩테스트의 경험을 해볼 수 있습니다. 실제 코딩테스트 환경은 연습 상황과 다를 수 있습니다. 그렇기 때문에 미리 실제 환경에 연습을 한다면 실제 테스트에서 좀 더 빠르게 적응할 수 있습니다. 많은 코딩테스트 사이트에서 모의 코딩테스트를 제공하며, 이를 통해 자신의 준비 상태를 파악할 수 있습니다.

7. 시간 관리

코딩테스트에서는 제한된 시간 내에 문제를 해결해야 합니다. 따라서, 시간 관리가 매우 중요합니다. 연습을 통해 시간을 효율적으로 관리하는 방법을 익히는 것이 좋습니다!


마무리 💡

저의 경우를 얘기해 보자면 저는 다양한 사이트에서 연습을 하고 있습니다!
프로그래머스의 레벨 별로 하나씩 격파해 나가는 방식으로 문제를 풀고 있고, 인프런의 자료구조 알고리즘 강의와 함께 문제를 풀며 풀이 유형 등을 익히고 있습니다:)
패스트캠퍼스에서 제공되는 강의와 문제들도 많은 도움이 되고 있습니다! 온라인 강의로 반복적으로 유형을 익히고, 실시간 강의로 또 반복해서 익히고 있습니다.

지금까지 코딩테스트에 대해 알아보았습니다~ 감사합니다!

profile
안녕하세요. Chat JooPT입니다.

0개의 댓글