경력직 코딩 테스트 준비

hsnam·2022년 1월 5일
7

CodingTest

목록 보기
1/2
post-thumbnail

코딩 테스트 준비

코딩 테스트는 왜 하는걸까?

  • 경력직인 필자는 실무에서 일하면서 알고리즘을 사용한적이 그닥 많이 있지 않다. GIS전공한 필자는 알고리즘적으로 많이 필요한 직무 이지만 이미 라이브러리나 프레임워크에서 필요한 라이브러리들이 제공하고 있으며 알고리즘을 조합해서 서비스를 만드는것이 나의 역할이다. 그나마 많이 쓰는 재귀는 정말 억지로 어쩔수 없을때만 사용한다.
  • 이런 상황에서 알고리즘은 별로 필요 하지 않은가 문득 생각이 들기도 하지만 결국에는 필요하다.
  • 알고리즘 자체가 필요한게 아니라 알고리즘을 풀기 위해서 접근하는 사고방식이 필요한거이다. 알고리즘을 공부하기 시작하고 나서 실무에서 개발하는 사고방식에 차이에 대해서 미묘하게 발견하는 나를 발견 할 수 있을 것이다.
  • 하지만 직군마다 직무하다 다루는 도메인 지식마다 알고리즘에 대하는 차이는 잊지 말자.

테스트 플랫폼

  • 회사마다 코딩 테스트를 보는 플랫폼이 다르므로 한군데만 집중해서 코딩 테스트를 준비 하기 보다는 여러 플랫폼을 기준으로 준비하는 과정이 필요하다.
  • 야놀자와 요기오는 코딜리티에서 3문제 정도 코딩 테스트를 진행하며 해당 플랫폼은 전부다 영어로 진행된다.
  • 오늘의집은 SQL, 엔티티 설계, 알고리즘 2문제 등이 프로그래머스에서 진행되며 5시간 정도 진행된다.
  • 현대오토에버는 softeer에서 진행되며 인터넷 사용 금지 연습장 사용금지 등등 시험이 엄격하다.

    백준코딩: https://www.acmicpc.net/
    프로그래머스: https://programmers.co.kr/
    코딜리티: https://www.codility.com/
    softeer(현대): https://softeer.ai/index.do
    해커랭크 : https://www.hackerrank.com/
    린트코드 : https://www.lintcode.com/
    리트코드 : https://leetcode.com/

최소 난이도

  • 최소 프로그래머스 기준 레벨 2단계 수월하게 준비.

준비 과정

목차

  • 배열
  • 스택, 큐, 덱, 우선순위 큐(힙)
  • 문자열
  • 정렬알고리즘
  • 부루트 포스(완전탐색)
  • 재귀
  • 백트래킹
  • 동적계획법
  • BFS/DFS

공부 방법

  • 기본 공식(?)은 이해하거나 안되면 외우자
    - 순열, 조합, DPS, BPS, DP 암기 또 암기!
  • 기본 적으로 봐야하는 유형은 꼭 반복해서 보자
    - GCD(최대공약수, 최소공배수)
    - 순열/조합
    - DFS(재귀, 스택), BFS(큐)
    - 분할정복(재귀), DP
  • 시간복잡도, 공간복잡도는 알고가자(면접에서 코딩테스트 리뷰시 질문이 나올 수도 있음(
  • 문제에 대한 이해 및 접근 방법에 대해서 공부

실전

  • 기법이 어떤것이 있는지에 대해서 대표예제는 외우자
  • 하루 2문제 풀기
  • 의도파악
    - 문제를 먼저 해석하고 난 이후 어떤 기법으로 풀 수 있을지 떠올리는 연습
    - 다양한 문제를 접해서 접근한 방법론이 맞는지도 체크(풀어보지 않고)
  • 코드 컨벤션 유지
  • 시간 분배 연습
  • 개념적 반복
  • 다양한 플랫폼에서 진행 문제 풀기

정리

- 1단계(배경지식) : 개념적인 내용 알고리즘에 대해서 이해 및 암기
- 2단계(문제해결력) : 어떤 기법들이 존재하는지를 대표 유형을 확실하게 숙지한 다음에 다양한 문제를 어떤 기법으로 풀지 아는것
- 3단계(구현력) : 다양한 문제를 풀어보면서 구현력을 학습한다.

0개의 댓글