Skip to content

Latest commit

 

History

History
108 lines (100 loc) · 3.92 KB

01-1_Coding_Test.md

File metadata and controls

108 lines (100 loc) · 3.92 KB

코딩 테스트 시작하기

목차

  1. 알고리즘? 코딩테스트?
  2. 코딩테스트 종류
  3. 코딩테스트 준비하기
  4. 데이터 구조와 알고리즘

1. 알고리즘? 코딩테스트?

알고리즘

  • 어떤 문제를 해결 하기 위해 정해진 일련의 절차나 행동
  • 문제란 Input을 넣었을 때, 원하는 Output이 나오도록 하는것
  • 흐름도..

코딩 테스트

  • 기업에서 지원자를 대상으로 코딩을 통한 문제 해결 능력을 테스트 하는 것
  • 평가항목
  1. 문제 의도를 정확히 파악하고, 적절한 해결 방법을 적용할 수 있는가?
  2. 해결 방법을 프로그래밍을 통해 능숙하게 구현할 수 있는가?
  • 코딩테스트와 현업 능력의 연관
    • 코딩테스트

      문제 파악 > 해결 방법 구상 > 정답 구현
    • 현업

      비지니스 문제 발생 > 해결 방법 구상 > 구현 및 수정
    • 하지만 코딩테스트는 SW 개발과는 달라
      완벽하게 현업 능력을 평가할 수는 없지만
      신입의 실력을 측정하는데 좋은 지표가 된다!

2. 코딩테스트의 종류

  • 온라인
    • 프로그래머스 등..
    • 사전에 연습장과 필기도구 준비
    • 테스트 케이스 이외의 엣지(edge) 케이스도 확인
    • 인터넷, IDE, 알고리즘 노트 적극 활용
  • 오프라인
    • 개발형 코딩테스트(Rest API, json)
    • 화이트보드 손코딩
  • 기업별

3. 코딩테스트 준비하기

  • 많이 풀기
    • 백준
      • 가장 많이 사용하는 플랫폼
      • 최다 문제 보유
      • 유형별 단계별 문제 제공
    • 프로그래머스
      • 실제 코딩테스트 환경과 유사
      • 카카오 기출문제 제공
    • SWEA
      • 삼성전자에서 제작한 플랫폼
      • 삼성 SW 역량 테스트 문제 다수 보유
    • LeetCode
      • 해외 대표적인 코딩 테스트 플랫폼
  • 유형별로 연습
  • 실전대비는 모의고사처럼 시간 제한을 두고 여러 유형
  • 한 문제에 오랜 시간 매달리지 말고, 답을 보자
    이후에는 답을 보지않고 반드시 한번 더 풀어서 내것으로 만들기
  • 변수명 대충 짓지 않기
  • 내장 함수, 라이브러리 적극 활용
  • 반복되는 코드는 함수화를 통해 가독성 있게 작성
  • 면접을 위해 풀이를 남에게 설명하는 연습 반드시 필요

4. 데이터 구조 & 알고리즘

데이터 구조

  • Array(배열)
  • Linked List(연결리스트) - list
  • Hash(해시)
  • Stack(스택)
  • Queue(큐)
  • Priority Queue(우선순위 큐)
  • Heap(힙)
  • Tree(트리)
  • Graph(그래프)
  • Dictionary(딕셔너리)

알고리즘

  • 기본

    • 완전탐색
    • 재귀
    • 시뮬레이션
    • 그리디
  • 심화

    • DFS
    • BFS
    • 백트래킹
    • 이진탐색
    • DP
    • 다익스트라
    • 크루스칼
    • 프림
  • 주요 문제유형

    • 완전 탐색, 구현, 그리디, 시뮬레이션,
      탐색, 다이나믹 프로그래밍, 자료구조