Approach Problem

접근 방법 생각해내기

  • 직관적으로 생각하기

    • 보통 완전탐색으로 시작
    • 문제 상황을 단순화 하여 생각
    • 문제 상황을 극한화 하여 생각
  • 자료구조와 알고리즘을 활용

    • 어떤 자료구조를 사용하는게 가장 적합한지 결정
    • 대놓고 특정 자료구조와 알고리즘을 묻는 문제도 많음
    • 자료구조에 따라 선택할 수 있는 알고리즘을 문제에 적용
  • 메모리 사용

    • 시간복잡도를 줄이기 위해 메모리를 사용
    • 대표적으로 해시테이블
  • input, Output 확인

    • input 값의 특징, (정수인가, 값 크기의 범위는? 마이너스도 되는건가? 소수인가? 자료형은 문자열인가?)
    • Output 값의 특징
  • input size N 확인

    • 시간복잡도를 계산하기 위한 input size N 또는 M이 무엇인지 확인
  • 제약조건 확인

    • 시간복잡도 제한이 있는지 확인
    • 내가 선택할 수 있는 알고리즘이 무엇이 있는지
  • 예상할 수 있는 오류 파악

    • 상황을 가정하면서 예상할 수 있는 오류를 파악한다.