본문 바로가기
Python/코딩테스트

코딩테스트 개요

by yororing 2024. 11. 4.

00 개요

  • 다짐: 코딩테스트 뽀개자

1. 코딩테스트란

  • 시간 안에 주어진 문제를 푸는 시험, 적절한 알고리즘 선택하여 문제 해결이 목적
  • 채점 방식: 입력값을 여러개 넣고, 모두 통과하는지 확인 (하나라도 통과 못하면 틀림)
  • 공부 방법: 개념 이해, 기본 문제, 코드 imitate, 안 보고도 코드 작성할 수 있을 정도로 외우기, 유사 문제 풀어보기
    • 각 알고리즘 이해 후: 하루에 몇 과목 씩 돌아가면서 풀기, 한 문제 Max 30분 넘기지 않기, 틀린 문제 복습하면서 반복, 시간 정하면서 문제 풀기, 스터디 활용

2. 필수 알고리즘 10개:

  • BFS, DFS, 백트래킹, 시뮬레이션, 이진탐색, Greedy, DP, MST, 다익스트라, 플로이드

3. 문제 페이지

  • 백준: https://www.acmicpc.net/
  • 프로그래머스: https://programmers.co.kr/
  • 그룸: https://goorm.io/

01 고려할 3가지

1. 아이디어

  • 문제를 어떻게 풀 것인지 대략적인 계획 수립하는 단계
  • 예) 시작점에 연결된 Vertex 찾기, 찾은 Vertex를 Queue에 저장하기, Queue의 가장 먼저 것 뽑아서 반복하기

2. 시간 복잡도

  • = 시간 척도
  • 알고리즘이 얼마나 오래 걸릴지 계산
  • Big-O 표기법 사용: 알고리즘 최대/최악의 실행 시간을 표기
  •  예) O (V + E)

3. 자료구조

  • 어떤 자료구조를 사용할지 계획 (숫자는 최대자리에 따라서 데이터타입 예상)
  • 예) 검색할 그래프, 방문여부 확인 (재방문 금지),  Queue: BFS 실행

 

 

참조

  1. (개발자 장고 - 코딩테스트 준비 방법) https://www.youtube.com/watch?v=pvufY7rK7VA&list=PLi-xJrVzQaxXC2Aausv_6mlOZZ2g2J6YB&index=1
  2.  
  3.