내 블로그를 찾아오시는 분들 대부분이 코딩 테스트 후기를 보고 오시는 것 같다.
(네이버 코테, 카카오 코테, 토스 코테, 라인 코테...)
그리고 댓글로 코딩테스트 혹은 비전공자 프로그래밍 공부 방법에 대해 물어보시는 분이 많아서 포스팅한다.
모든 사람에게 통용되는 방법은 아니겠지만, 비전공자로서 코딩 테스트를 대비하는 약간의 팁?
내가 했던 공부 방법과 문제풀이 사이트를 소개한다. 참고로 파이썬 기준!
일단 나는 Hello World! 가 뭔지도 모를 때 무작정 파이썬 수업부터 들었다.
처음부터 유료 강의 결제하기는 망설여져서 edwith에서 이지선 교수님 파이썬 기초 강의를 들었는데,
프로그래밍을 전혀 모르고 시작했지만 쉽게 설명해주시고
커리큘럼도 체계적이면서 필요한 부분만 빠르게 짚어주셔서 진도도 빨리 나갈 수 있었다.
혹시 필요하신 분이 있을까 싶어서 링크 ↓
이 강의 듣다가 중간에 두잇 점프 투 파이썬 교재도 구매해서
강의랑 겹치는 파트를 따로 더 공부하니까 이해도 쉽고 스킬도 많이 늘었다.
이렇게 강의를 다 듣고 교재도 설렁설렁 보다 보면 실제로 코드를 쳐보고 싶어 진다.
이때 백준 사이트에 들어가서 단계별로 풀어보기 중에 1~7(입출력~문자열) 정도 풀어보면 된다.
문제를 풀다 보면 쉽게 풀리는 것도 있고, 시간이 좀 걸리는 부분도 있다.
문제 풀고, 다른 사람 코드(주로 런타임이 짧은 코드)도 보면서 공부하다 보면
이제 좀 더 어려운 문제로 들어가도 되겠다 싶은 순간이 온다.
이때 자료구조와 알고리즘 공부를 시작하면 된다.
나는 알고리즘 교재는 따로 구매하지 않고 자료구조 책만 본 다음에
필요한 알고리즘은 그때그때 인터넷으로 검색해봤다.
book.naver.com/bookdb/book_detail.nhn?bid=13148682
당시엔 파이썬 자료구조 책이 거의 없어서 이 책으로 공부하긴 했는데 '파이썬 알고리즘 자료구조'로 검색해보니까
더 괜찮은 책도 많이 나와있는 것 같다. 그중에 마음에 드는 것 하나 고르면 되겠다.
이 책에는 파이썬에서 잘 안 쓰는 개념인 '포인터'를 파이썬으로 직접 구현하는데,
이 부분이 되게 어려웠지만 성장도 많이 하게 된 부분이라 좋았다.
자료구조와 알고리즘 공부를 하고, 백준에서 관련 문제를 찾아서 풀어보면 거의 완벽하다.
그리고 백준에 각종 기업 코딩 테스트 문제도 있어서 (완전 똑같지는 않고 약간 변형) 풀어보면 좋다.
백준 말고 사용해본 사이트는 프로그래머스, 삼성 sw expert academy가 있다.
일단 프로그래머스는 단계별로 문제가 있고, 조금 더 기업 코테에 가깝다.
그리고 SQL 코테도 있어서 연습하기가 좋다.
만약 기업 코테에 SQL이 나온다고 하면 프로그래머스에 SQL 키트는 다 풀어보고 응시하는 게 도움이 될 것이다.
삼성 익스퍼트는 보통 삼성 역량테스트 준비를 위해 많이 사용한다.
그런데 이번 해(2020년) 코로나 때문에 한 번도 시험이 열리지가 않아서 안타깝다..ㅠ
익스퍼트 사이트도 괜찮은 문제가 많지만, 파이썬의 경우에 시간제한이 꽤 빡빡한 경우도 있다. (백준도 가끔)
아마 원래는 역량테스트 응시 언어에 파이썬이 없었는데, 2년 전? 쯤부터
파이썬이 허용되어서 아직 런타임 설정이 제대로 안된 것 같다.
그리고 기업 코테용 알고리즘 공부가 막막하다면 일단
브루트 포스 / BFS와 DFS / 트리 / 그래프 탐색 정도로 시작해서 점점 깊게 배우면 좋을 것 같다.
재귀의 경우에는 많은 문제에서 유용하게 쓰이지만 for문으로 돌려도 될 것을 재귀로 돌리면 시간이 매우 오래 걸리므로
효율성을 잘 따져보고 쓰는 게 좋다. 내가 재귀를 좋아해서 이렇게 시험을 망친 경우가 많다...ㅎ
약간의 팁이 될 수 있는 표준 라이브러리를 소개하자면
import math
import itertools
import collections
이렇게 3개가 있다. 각 기능은 직접 찾아보고 응용해보길 권장한다.
다만 기업에 따라 표준 라이브러리도 못쓰게 막는 곳도 있으니,
그런 경우를 대비해서 해당 기능을 따로 구현할 줄 알아야 한다.
생각나는 대로 쭉 써봤는데, 누군가에게 도움이 되었으면 좋겠다.
물론 이 글은 정답이 아니고, 더 나은 공부 방법도 있겠지만
나는 이렇게 공부했다~ 하고 공유하는 정도로 봐주면 좋겠다.
'My > Small talk' 카테고리의 다른 글
MacBook Pro 2021 16형 구매 (0) | 2021.12.23 |
---|---|
2020년 하반기 SW 직군 취뽀 후기 (비전공자) (32) | 2021.01.27 |
네이버 2020 공채 코딩테스트 후기 (3) | 2020.09.26 |
LINE(라인) 2020 하반기 신입 채용 코딩테스트 합격 (0) | 2020.09.16 |
프로그래머스 2020 Dev-Matching: 웹 프론트엔드 테스트 후기 (0) | 2020.08.23 |
댓글