들어가기 앞서서…
본 글은 코딩 테스트 겸 알고리즘을 제대로 공부하기 위하여 기존에 공부를 했던 내용을 다시 요약 복습하는 글입니다 :)
따라서 내용이 많이 생략 되어 있으며, 원문을 보시고 싶으시면 저의 블로그 원본 글을 참조해 주세요.
또한 본 내용은 이것이 취업을 위한 코딩테스트다 라는 교재의 내용 + 유튜브 인강을 기반으로 되어 있으니, 직접 학습하시는 것도 좋다고 생각됩니다.
코딩테스트란 무엇인가?
코딩 테스트란?
기업, 기관에서 직원이나 연수생을 선발하기 위한 목적으로 시행되며
◦ 문제 해결 역량을 평가하며
◦ 채점 시스템을 통해 응시자 수를 줄이는 효과를 갖고 있습니다.
코딩 테스트의 유형
온라인 코딩 테스트
◦ 인터넷을 활용해 프로그래밍 역량을 평가하여 응시자를 선별하는 방식입니다.
◦ 대체로 타인과 문제풀이를 공유하지 않는 선에서 인터넷 검색을 허용합니다.
오프라인 코딩테
◦ 시험장에 방문하여 치르는 시험입니다.
◦ 대체로 인터넷 검색이 허용 되지 않고, 회사에서 제공하는 환경에서 진행됩니다.
온라인 저지란?
체력을 키우기 좋은 훈련장. 꾸준히 계속 쌓아 올리는 것이 좋습니다.
•
코딩테스트 응시자 설문 조사
•
알고리즘 문제 풀이 방식의 코딩테스트에서 가장 유리한 프로그래밍 언어는 무엇인가? 라는 질문에 답변이 아래와 같았습니다.
◦ C : 6%
◦ C++ : 44%
◦ 파이썬 : 36%
◦ 자바 : 8%
◦ 기타 : 6%
•
이런 기준 와중에 파이썬을 써야 하는 이유는?
◦ 파이썬의 편리한 구조
◦ 파이썬 기본 라이브러리가 가진 다양한 기능들
◦ 알고리즘 대회가 아닌 기업에서 진행시 파이썬이 편리하게 작업이 가능하다.
◦ 시간이 많이 걸리는 경우를 생각하면 자바는 하지 않는게 낫다.
◦ 코테를 위한 처음 시작하는 경우는 파이썬이 빠르게 익힐 수 있다.
•
개발 방식의 코딩테스트에서 가장 유리한 프로그래밍 언어는?
◦ 파이썬 : 36%
◦ 자바 : 20%
◦ … 더 이상 이야기 안해도 될것 같죠?
•
시험의 유형
◦ 과제형으로 기한을 두고 구현해오라는 경우가 있습니다.
◦ 과제형보단 짧은 시간으로 오프라인으로 모여서 지원자들에게 개발을 요구하는 방식이 있습니다.
온라인 개발 학습 환경 추천 사항
•
리플릿 : 온라인으로 치루어지는 코딩 테스트에 참여가 가능하며, 온라인 상황에서 바로바로 코딩을 할수 있다는 점에서 활용이 용이합니다.
•
️ 파이썬 튜터 : http://pythontutor.com/visualize.html
괴에에에엥장히 도움이 됩니다. 짜여진 로직을 시각화 해주어서 코드 전개를 명확하게 이해할 수 있어서 훌륭합니다. 처음 시작하는 입장에선 굉장히 이해하는데 도움이 많이 됩니다.
•
파이참 - 대표적인 오프라인 개발환경, 디버깅, 로컬에서관리하면서 해보고 싶으면 써보길 추천합니다.
•
Dev C++ - 파일 하나만 작성할 때 편리하며, 바로바로 컴파일로 확인할 수 있으니 오프라인 환경의 코테를 보듯 사용할 수 있는 IDE 입니다.
자신 만의 소스 코드 관리
•
알고리즘 코딩테스트를 준비하고 있다면 자신만의 소스코드를 관리하는 습관을 들이면 좋다고 합니다.
•
자신이 자주 사용하는 알고리즘 코드를 라이브러리화 하면 좋다고 합니다.
팀노트 예시!(나동빈 님의 레포지터리 입니다.) :
https://github.com/ndb796/Python-Competitive-Programming-Team-Notes
2019년 주요 코딩 테스트 유형
구현(33%) > BFS/DFS(20.9%) > 그리디(19.8%) > 다이나믹 프로그래밍, 정렬 (각각 8.2%) > 정렬(8%) > 이진탐색, 최단경로, 그래프 이론…