본문 바로가기

코딩

코딩테스트 공부 방법

<1: www.youtube.com/watch?v=MpuOYsmDKeg>

개발남노씨-알고리즘 코딩 테스트 공부방법.

 

1. 언어선택

언어선택은 크게 중요하지 않다. 결국 수학적 논리력, 알고리즘, 자료구조 등이 중요하다. 본인이 가장 자신있어하는 언어를 선택하는게 가장 좋다. 굳이 코딩 테스트에서 가장 유리한 언어를 선택하라고 한다면 C라고 생각한다. 모든 회사에서 C를 시험언어로 지원해주고 방대한 공부자료가 있다. 시간복잡도를 고려해야하는 문제를 풀 때 유리한 면이 없잖아 있다. 파이선, 자바스크립트 등에서는 문자열을 처리하는 등 특정 문제는 굉장히 쉽게 해결할 수가 있다. 만약 지원하는 회사가 C와 파이선/자바스크립트를 지원한다면 무엇을 써도 상관없다. 다만 JAVA는 큰 이점은 없다. JAVA를 주 언어로 사용하던 사람들은 굳이 다른 언어를 처음부터 공부할 필요는 없다.

 

2. 공부 순서(개인의견)

기본만 알아도 꽤 많은 회사의 코딩 테스트에 합격할 수가 있다.

 

삼성같은 경우 중급난이도의 문제가 많이 출제되니 참고.

 

무조건 문제를 풀면서 공부해라!-백준, SW Expert Academy, 프로그래머스

강의-mycodeschool, 동빈나 알고리즘 강좌, 백준 강의

(이론따로 문제따로 공부하면 굉장히 시간이 오래걸린다.)

 

3. 회사별 시험 스타일

제조업SW-삼성, SK하이닉스

(특히 삼성은 DFS, BFS만 열심히 공부하면 어렵지 않게 통과할 수 있다. 백준에서 기출문제를 많이 풀어봐라)

 

T대기업-카카오, 네이버, 라인, SK C&C

문제가 어려운 편. 자료구조와 알고리즘 면에서 폭넓은 지식이 필요. 수학적 논리, 사고력도 필요.

앞서 배운 내용들로부터 출제가 되지만 이 문제가 이런 내용을 사용하는 것인지 모를 때가 많다. 단순히 이론만 안다고 해결되는게 아니라, 다양한 문제를 접해보는 것을 추천

 

중견+스타트업

코딩테스트를 보지 않는 곳도 많고, 문제도 굉장히 쉽다. 진짜 기본 이론만 알면 충분히 풀 수 있다. 다만 면접에서 실무능력에 대해 많이 물어본다. 코딩테스트에는 자신없지만, 실무능력에 자신있는 사람들은 지원하면 좋다.

 

1. 백준 : https://www.acmicpc.net/ 2. sw expert academy(삼성) : https://swexpertacademy.com/main/main.do 3. 프로그래머스: https://programmers.co.kr/ 추천 알고리즘 강의 동영상 1. mycodeschool(youtube, 강추!!): https://www.youtube.com/user/mycodesc... 2. 백준 강의(유료): https://code.plus/bundle/6 3. 동빈나 알고리즘 강의(youtube): https://www.youtube.com/playlist?list...

 

<2: youtu.be/ukkLCl9yBvE>

동빈나 - 대기업 IT 직군 코딩테스트 합격을 위한 현실적이고 직관적인 공부순서

 

1. 기본적인 문법을 떼라

2. 코드업, 백준에 가면 기초 100제가 있다. 그걸 풀어라

3. 수준이 향상되면 백준, 코드포스, 앱코더, 탑코더 이런걸 풀어봐라(백준 온라인 저지 절대 1번 문제부터 풀면 안된다.)

4. 문제유형을 보고, 그리디 알고리즘부터 풀어라.(꼭 그리디 알고리즘 부터 풀어라!!! 가장 쉽기 때문!)

5. 그리디 다음이 탐색이다. 완전탐색, BFS, DFS 부분을 공부하면 된다. 실제 삼성전자 같은 경우 탐색문제가 굉장히 많이 나온다. 공채같은 경우 2문제가 출제되는데, 이 중에서 한 문제만 풀어도 떨어지지 않는다.

사실 그리디와 탐색만 탄탄하게 갖추면 코딩테스트에서 떨어질 일 거의 없다. 흔히 착각하는 것이 고급 알고리즘을 공부해야 하지 않을까?? 그럴필요없다. 고급 다이나믹 프로그래밍 필요없다. 딱 그리디, 탐색, 기본 동적 프로그래밍 정도만 공부하면 됨. 그 이후에 그래프 이론, 중급 및 고급 동적 프로그래밍, 그리고 문자열에 대해 공부하는 것이 좋을 것 같다. 

흔히 하는 말로, 코드포스의 블루 레벨 정도의 실력이 된다면, 코딩 테스트는 무난히 합격할 수 있다. 혹은 삼성 소프트웨어 역량 테스트 B형 정도를 취득하면, IT 직군에 취업할 수 있다고 생각한다. 그리디, 탐색, 동적 프로그래밍만 잘해도 코드포스의 블루레벨이 가능.

일반적인 대기업 공채는 문제 수와 관계없이 절반 정도를 맞추면 합격하는 추세. 완벽을 노리고 공부하지 말고 정말 필요한 것만 공부를 해라.

학원에는 정보가 많기 때문에 가면 도움을 받을 수도 있지만 굳이 갈 필요 없다. 삼성전자 역량 테스트 기출문제는 전부 백준 온라인 저지에서 확인가능. 카카오 코딩 테스트의 경우 프로그래머스에 있음. 바로 사이트에가서 풀어볼 수 있다.

동빈나 알고리즘 강의를 반정도 듣고 바로 백준 사이트에서 그리디, 완전탐색 문제를 개 풀어봐라. 그다음 삼성전자 소프트웨어 역량테스트 풀어봐라. 앞에서 말한 3가지 유형의 문제를 50개씩 풀어봐라. LINE은 어디서 문제를 풀어볼 수 있는지 모르겠다.

2015년도를 기점으로 여러 기업에서 코딩 테스트를 통해 직원을 채용하고 있다. 

 

코딩테스트를 볼 때는 어떤 언어를 사용하는 것이 좋을까? C++과 파이썬을 추천한다. 많은 사람들이 C++을 이용했기 때문에 참고할 소스코드가 많다. 대회를 준비하거나 성능적 측면이 고려되는 프로그램을 만들어야 한다면 C++이 좋을 수 있다. 문자열 처리나. 리스트 관련 문제와 같이 파이선에 유리한 문제가 있다. 어떤 프로그래밍 언어가 코딩 테스트에 유리한지 설문조사를 했는데 c++과 파이선이 압도적이었고 둘의 비율은 비슷했다. 

물론 API개발, 해커톤 문제와 같이 프로그램 모듈 개발에 있어서는 파이선이 더 유리하다고 많은 사람들이 생각한다.

'코딩' 카테고리의 다른 글

다른 IDE에서 작업한 프로젝트를 eclipse에 import 하기  (0) 2021.01.03
eclipse SE vs EE  (0) 2021.01.03
동적 생성으로 생성되는 부분이 크롤링 안될 때  (0) 2020.07.25
크롤링  (0) 2020.07.16
CLI?  (0) 2020.07.15