알고리즘 및 코딩/[알고리즘] 알고리즘 간단 개념 📓

[기본] 코딩 공부방법 및 팁 (python)

kks2 2023. 4. 19. 23:12
728x90

연구실 알고리즘 천재 선배가 전수해준 방법.

 

1. 이론 공부, 2. 실제 코딩 을 병행하면서 할 것

 

> [1] 이론 공부하는 곳 & 알아야하는 알고리즘 

 

  • 위 블로그/티스토리에서 무슨 개념을 공부하냐? 아래 적어놓은 "꼭꼭 알아야하는 알고리즘" 먼저 공부하고, 시간이 된다면 아래 "알아두면 좋은 알고리즘" 까지!!

 

  • 꼭꼭 알아야하는 알고리즘 ([x]인 것은 내가 공부 완료한 것을 표시한 것 2023.04.19)
    • [ ] 구현/시뮬레이션
    • [x] 브루트포스 (완전탐색)
    • [x] 정렬
    • [x] 문자열
    • [x] 자료구조
      • [x] 집합(set)/맵 
      • [x] 스택 
      • [x] 큐
      • [x] 우선순위 큐
      • [x] 덱 
      • [x] 연결 리스트 
    • [x] 그리디 재귀 
    • [x] 분할정복 
    • [x] 백트래킹 
    • [x] Dfs/bfs
  • 알아두면 좋은 알고리즘
    • [ ] DP
    • [ ] 약수, 배수, 소수
    • [ ] 누적 합
    • [ ] 이분 탐색
    • [ ] 최단 경로
    • [ ] 투 포인터
    • [ ] 트리
    • [ ] 유니온 파인드
    • [ ] 세그먼트 트리

> [2] 실제 코딩 연습 - 연습 사이트 및 문제 푸는 법

 

  • 연습 사이트
  • 문제 푸는 법 (공부)
    1. 30분 고민하고 막히면 → 알고리즘 분류 보기 → 답 보기 → 익히기!!
    2. 다른 사람 코드보면서 배우기
    3. 바로 구현하지 말고, 머리속으로 생각 후 풀기 (주요 시간 복잡도 생각→ 어느 시간복잡도까지 가능한지 보기) → 왜냐면, 논리적 오류를 잡는데 오래걸림
    4. 디버깅 꼭하기
    5. 효율성이 중요한 경우 '빠른 입출력' 꿀팁 확인하기 
    6. 작은 입력에 대해서 제대로 실행되나 확인
    7. 프로그램의 계산 중간 결과 출력-잘되고 있는지
728x90