분류


Container 통합 내용

Container_1 : Array

Container_2 : List / HashSet / Dictionary

Container_3 : Stack / Queue

Tuple

String & StringBuilder & Span & Char

LINQ

탐색

Math

DP

풀이 순서


  1. 문제를 처음부터 끝까지 순서대로 천천히 읽는다. (문제 조건 놓치면 디버깅으로도 찾을 수 없다.)
  2. 종이노트에 기능 구분 + 제일 최적화 된 자료구조 적기 → 50% 이상의 시간 투자
  3. 복잡도 검사
    1. 대강의 Big-O를 파악한다.
    2. 상수까지 포함해서 제대로 복잡도를 계산한다.
      • Big-O는 상수를 무시하지만 실전 복잡도에서는 포함하는 게 더 확실하다.
      • Example
        • 이차원 배열 (N * N)이 나오고 N이 50이라고 가정한다.
        • Vertex 탐색은 50 * 50이고, Edge 탐색은 4방향이니까 50 * 50 * 4다.
        • 그러므로 50 * 50 * (1+4) 니까 12,500이 나오고, 이건 2,500(Big-O)와 큰 차이다.
      • 재귀는 특히 조심한다.
        • 재귀의 경우 100회 순회를 재귀로 4번만 타도 10^8이다.
    3. 문제는 보통 10^9에서 터지도록 설계된다. 너무 보수적으로 시도를 주저하지는 말자.
    4. 이 값이 10^8 이하고, for문 내부에 O(N) 급(ex : LINQ)연산이 없다면 진행한다.
  4. 구현