[수정]코딩테스트 준비를 위한 글 [도서 추천, 개발환경 셋팅]

원글: https://www.clien.net/service/board/lecture/16146627

클리앙에 작성한 작성 한 글을 가져왔습니다.

다시 보니 정리가 필요해 보입니다.
이글을 수정하지 않고, 새로 작성할 예정입니다.

주의 : 이글은 전문적인 글이 전혀 아니고 개인적인 생각입니다.

저는 대기업 개발 직군의 종사자가 아니며, 그 외의 시각에서 작성한 글입니다.

※ 비전공자에 대해 작성했던 얘기는 다시 생각해보니 아닌 거 같아서 삭제합니다.

대기업 코딩 테스트(이하 : 코테로 표기) 많이 준비 하시나요?

코로나 상황으로 우리나라의 IT 대기업 N, K, C 사 등에서 많은

IT 개발자를 많이 뽑고 있다는 기사가 많이 나왔습니다.

저는 꿈도 못 꾸지만 개발 직군 대기업에서는 대규모로 채용을 진행하였고, 진행 중이고,

앞으로도 당분간은 많은 개발 직군 인력을 선발하지 않을까 기대해 봅니다….

대기업으로 가기 위한 첫 번째 관문은 코딩테스트입니다.

파이썬으로 단기간에 코테를 준비하시는 분들이 많아졌고

1년 사이에 코딩테스트 도서도 몇 권 나왔습니다.

저는 오래전 클래식 작곡과 출신입니다.

최근 제 아내가 저는 음악이 길 아니고 컴퓨터가 맞는 것 같다고 진로 변경을 권유해주었습니다.

컴퓨터 프로그래밍이 앞으로 미래다? 라는 마음을 가지고  컴퓨터 기초 지식 공부를 하는 중입니다.

아내 아니었으면 지금 다리 위에서 10년 넘게 기타 치면서 노래를 부르고 있었을 거예요…. ㅠㅠ

코딩테스트는 첫 허들입니다.

unnamed.gif

[이미지출처: 육상이러닝센터]

전 알지 못하지만, 열심히 구글 검색을 통해 알게 된 것은

코딩테스트 이후에  라이브코딩,  몇번의 면접들이 더 있지만

만약 서류가 합격 뒤 바로 기다리고 있는 첫 관문은  코딩테스트입니다.

코딩테스트가 무엇이냐?

온라인 코테 사이트에서 주어진 문제를 해결하는 시험입니다.

기업마다 다르지만

1. 주어진 시간에 N 개의 주어진 문제를

2. 해결하기 위해서

3. 추상적 자료구조나 알고리즘으로 풀어갈지 생각한 다음에

4. 생각한 것을 구현하여

5. 정답과 맞추면 됩니다.

미국의 물리학자인 리처트 파인만이 제시한 알고리즘을 푸는 방법입니다.

2241FA3E5854E6DA21.jpeg

1. 문제를 쓴다

2. 열심히 생각한다.

3. 해답을 쓴다. 

참 쉽죠?

bobrosspainting.jpg

제가 생각하는 코딩테스트를 보고, 공부하는 이유

기업에선 코테를 보고, 취준생들이 공부하는 이유에 대해서 제 생각은 아래와 같습니다.

  • 지원자 수 걸러내기

실제로 일정한 점수가 되지 않으면 시스템에서 알아서 지원자 수를 줄여줍니다.

-> 정답 대신, 편지를 구구절절이 썼는데 전달조차 되지 않았다는 슬픈 소식을 들었습니다.

  • 컴퓨터 기초 지식(자료구조와 알고리즘)을 알고 있다.
  • 문제해결 능력을 보기 위해서(구글 같은 경우엔 어떤 질문을 하는지 본다고 합니다)

     Problem Solving (구현 능력, 절차적 사고, 디버깅 등등) 기술이 향상됨.

코딩테스트에 유리한 언어는?

  • 개발하는 주 언어가 있으신 경우
    -> 사용하시는 언어로 코테 준비를 하세요.
  • 주 언어가 없으신 경우에는 

   파이썬을 추천합니다.

    파이썬은 배우기 쉽고 , 문법이 간결해서 코딩테스트에 유리합니다.

   특히 파이썬 다운 방식 pytonic 파이써닉 한 방식을 이용하면 

   제가 10줄 넘게 푸는 것을 고수분들은 한줄만에 문제를 해결하는 경우도 봤습니다.

995C63505AC0A0D437.jpeg

파이썬을 만드신 귀도 반 로섬님이 

Life is too short, You need Python 

인생은 너무 짧기 때문에 파이썬이 필요하다.

라는 말씀을 하셨습니다.

그래서 컴퓨터 전공자가 아니라도, 코테준비를 할 수 있습니다

unnamed.jpg

[함께 해요~~~]

코딩테스트는 범위가 정해져 있고, 대회처럼 몹시 어려운 문제가 나오지 않는다고 들었습니다.

취업을 위한 코딩테스트는 기출문제 유형이 정해져 있고 아래의 유형 위주로 공부하시되,

[문자열조작, 탐색(BFS, DFS),  정렬, 그래프, 배열, 다이내믹프로그램 등]

회사마다 선호하는 출제 경향이 있어서 그것에 맞게 공부하시면 된다고 합니다.

?????????.jpeg

유형별로 익숙하게 푸실 수 있으면 합격이라고 하실 수 있습니다.

– 수능 잘 보려면 기출 문제 위주로 공부하세요~

이해가 가지 않으면 외워서? 하셔도 된다고 합니다.

코테 공부 도서 

  • 파이썬 알고리즘 인터뷰(책만 출판사 / 박상길 저) 
https://book.naver.com/bookdb/book_detail.nhn?bid=16406247

줄여서 : 파알인 

  • 이것이 코딩 테스트다 (한빛 출판사 / 나동빈 저)
https://book.naver.com/bookdb/book_detail.nhn?bid=16439154

줄여서: 이코테 

  • 알고리즘 문제 해결 전략 

https://book.algospot.com/ (인사이트 / 저 구종만)

줄여서: 알문해전

저는 이코테 책을 한번 쭉 보고 

파알인 책을 이해 가지 않아도 처음부터 끝까지 한번 쭉 따라 쳐본 상태입니다.

3일 전부터 남에게 설명하듯이 공부하면  자세히 공부할 수 있을  것 같은 느낌? 이 있어서

하루에 한 개씩 모니터 화면을 녹화하면서 중얼거리며 비공개 영상을 남기고 있습니다.

가장 좋은 스승은 본인 자신이라고 하더라고요….

파알인, 이코테책의 언어는 파이썬입니다.

그래서 전 파알일, 이코테 두 개 가지고 있습니다.

알문해전은 유명한 책입니다. C인지  C++인지 잘 모르겠습니다.

이코테는 코딩테스트에 수험서 같은 책입니다.

코딩테스트에 나오는 유형과 이론,  기출문제와 해설이 들어있고

저자분이 유튜버시라서 강의와 풀이가 유튜브에 있습니다.

개인적으로 파알인을 좀 더 자주 보는데 이유는 한가지 문제를 가지고

1. 무조건 풀어보기

2. 소스 코드를 최적화하는 과정이 담겨 있습니다.

코딩테스트 연습 사이트

(제가 개인적으로 즐겨 찾는 순서입니다. 객관적인 순위 아닙니다.)

1. 릿코드

https://leetcode.com/

2. 프로그래머스

https://programmers.co.kr/

3. 백준 온라인 저지

https://www.acmicpc.net/

4. 코드업 

https://codeup.kr/

전 아직 몇 문제 풀지 못했지만, 500문제 정도 풀면 코딩테스트가 훨씬 더 수월해질 것입니다.

바로 시작하세요!

코딩테스트 환경 만들기

릿코드, 프로그래머스, 해커랭크 같은 경우 

홈페이지에서 자체에서 문제를 풀고 채점하는 시스템이 구축되어 있어 사이트 내에서 문제를 연습하면 되는데

백준온라인저지 (BOJ)같은 곳에선 

INPUT을 직접 받아야 합니다.

무료인 vscode와 pycharm이 많은 분들이 사용하시는데 제가 사용하는 pycharm으로 설명합니다.

다운로드:  https://www.jetbrains.com/ko-kr/pycharm/download/

Professional은 유료이고 Community 용을 다운 받으셔야 합니다.

Community 용도 코딩테스트 준비하기에 차고 넘칩니다.

파일로 입력받기 

설치가 완료되었다면 인터프리터 설정과 

코딩 문제 입력을 위한 설정을 하셔야 합니다.

?????????? 2021-05-16 ???? 6.21.54.png

왼쪽 파일 트리에서 [오른쪽 마우스 버튼]을 누르시고 

새로운 파일을 만들어 주세요

 파일 이름은 마음대로 지으셔도 됩니다.

저 같은 경우 standard input의 의미로 stdin.txt 파일을 만들어 주었습니다. 

screenshot (18).png

그리고 오른쪽 위쪽에 보시면 

?????????? 2021-05-16 ???? 6.13.38.png

망치와 재생 모양 사이에 있는

[Edit Configurations..]를 눌러주세요

screenshot (21).png

+를 눌러서 Python을 추가해 주세요.

?????????? 2021-05-16 ???? 6.23.31.png

Redirect input from에 위에 만든 stdin.txt의 경로를 지정해주세요.

이제 코딩테스트를 위한 준비는 끝났습니다.

360_F_341270430_x1cWvh4RJMflCXbUlmZOV2q3Jt0VMGbA.jpg

이제 간단히 테스트해보겠습니다.

저의 경우 창 분할을 해서 항상 상단에 stdin.txt를 열어 둡니다.

창 분할은 [Windows] -> [Editor Tabs] => [Split Down] 누르시면 됩니다

?????????? 2021-05-16 ???? 6.41.48.png

이 부분은 말로 설명하기 어려워서 영상을 첨부합니다….

분할한 상단:  코딩테스트 문제의  INPUT 값을 복사해서 붙여넣고

중간 영역 : 열심히 생각하고, 생각한 것을 구현하는 영역입니다.

출력 부분: 출력 창입니다.

설명 영상 출처: 

장황하고 두서가 없는 긴 글 읽어주셔서 감사드립니다.

의식에 흐름에 따라서? 작성하다 보니 정신이 없네요..

대기업 코딩테스트로 취업 준비하시는 분들 힘내시고 화이팅입니다.

주변에서 모두 코딩테스트, 코딩 테스트하길래

아무것도 모르는 상태에서 코딩테스트를  경험해 보았는데

당시 주어진 3시간 동안 얼굴이 붉어지는 것 외에는 아무것도 할 수가 없었습니다.

그래서 코딩테스트가 무엇인지 알아보고

어떻게 공부해야 할지 찾아보기도 하고

연습사이트도 알아보고 하였습니다.

위에 언급한 책도 잠시 들여다보고요..

그러다 보니 요즘 유행인 코딩테스트가 무엇인지 어떻게 준비해야 하는지를 허접한 경험에 의해? 글을 작성해보았습니다.

보통 이런 글은 

시험에 성공하신 분이나 열심히 준비하시는 분들이 작성하셔야 하는데

빈 수레가 요란하듯,  아주 조금 아는 사람이 아는 척 하듯

제가 주제넘게 감히 코딩테스트가 무엇이고 어떻게 준비해야 하는지를 두서없이 적어보았습니다.

주말 마무리 잘하세요^^

꼴찌를 위하여 – 저를 위한 노래도 퍼왔습니다.

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top