프론트엔드 데브코스 5기 TIL 6 - 알고리즘/코딩테스트 준비

김영현·2023년 10월 2일
0

TIL

목록 보기
7/129

백트래킹

js에선 재귀보다 스택효율이 더 좋음
bfs, dfs로 구현 가능
효율을 위해 탐색 안해도되는 곳을 잘라내는것 => 가지치기
cycle이 존재하면 bfs사용
그나마 할만하다...

DP

항상 백트래킹과 DP가 제일 어렵다...몇번을 봐도 이해는 가는데
막상 문제에 적용하려면 한세월 걸리거나 못함.
재능이 없는거겠지. 그렇기에 더 노력하는 수 밖에 없다.
DP의 핵심은 하위문제로 상위문제를 해결하는 것이다.
매번 똑같은 핵심이다.

천천히 생각하며 하위문제를 찾으려는 노력을 해야하는데...5분,10분만에 감이 안오면 축 쳐진다.
그게 문제다. 다른거 할땐 잘만 잡고 늘어지는데, 이상하게도 백트래킹,DP는 조금하고 안되겠으면 힘이 빠진다.
나약한 정신을 뜯어고치자.

강사님의 풀이를 계속 들여다보니 이해가 가긴 한다.
풀이는 항상 떠올리는게 문제다...이제 이해자체는 크게 어렵지 않다.
성장한거라고 생각하면 좋게느껴지고, 아직도 못푼다고 생각하면 좌절한다.
성장한거겠지.


문제 풀때 중요한것

  1. 여러풀이가 있을수 있다.
  2. 엣지케이스 생각
  3. 내 풀이가 베스트인지 의심
  4. 문제 풀때 시행착오를 기록해보자
  5. 다른사람의 코드를 보자
  6. 최소3시간은 해보고 모르면 답보기...

코드의 일관성을 지키자.

기록하기

논리적사고를 기록하는게 좋아보인다.
문제를 풀때 풀이를 어떻게 떠올렸는지, 어떤 순서로 떠올렸는지 기록하자.

  • 패턴을 발견하면 기록. 사용사례 + 베스트 케이스
  • 프로젝트 할때 사용하면서 리팩토링같이
profile
모르는 것을 모른다고 하기

0개의 댓글