알고리즘을 대하는 자세
- 알고리즘
- 문제를 푸는 방법
- A set of finite instrucions that solve the given problems.
- 알고리즘에 대한 알고리즘
- 인류지식의 정수를 느낀다.
- 사고 훈련을 한다.
- 좋은 개발자가 된다.
- 취업을 한다.
- FE VS BE
- FE : 비중이 낮음. 리액트
- BE : 비중이 있는 편.
- 그런데 코딩데트스를 보는 기업이 있다.
- 취업에 필요한 만큼만 한다.
- 반복문(2중,3중) 재귀함수(프로그래머스1)
- 정렬(버블,삽입,퀵,병합,카운팅, 기수, sort()) , 완전탐색 *(BFS,DFS)-2
(퀵 병합 코드 외우기)
- 길찾기 (다익스트라, 벨만-포드, 플로이드-와샬)
- DP , Binary Search
a. 완탐으로 알고리즘 설계하니깐 복잡도가 1억 넘어감.
b. DP: 중복해서 문제를 푸는 경우( 동전문제, 거스름돈문제)
c. BS: 최대/최소/한계
- 완전탐색
- 모든 경우의 수를 빠짐없이 탐색(따져본다.)
- 시간복잡도가 1억이하면 그냥 완탐으로 푼다.
- 시작과 끝, N(규칙적으로 증가/감소)
- 직접 시행을 통한 패턴 인식
- 최소 3개의 경우까지는 직접
- 시험시간(문제를 푸는 시간) 중에서 최소 50%, 권장은 75%의 시간은 문제를 푸는데에만 쓴다.)
- 코딩데스트가 아니라고 생각하고 푼다(수행평가, 논술시험, 서술형문제)
- 수도코드를 잘짠다.
- 레퍼런스 보는걸 두려워 하지마라.
- 추천도서
- 종만북
- 누워서 읽는 알고리즘
- 누워서 읽는 퍼즐북
- 퍼즐과 함께하는 즐거운 논리
- 그래봤자, 결국 개발(구현)이 중요하다.
- 고객이 원하는 대로
- 10배 이상 뛰어난 개발자가 되는 법
- 힘들지 않으면 노력이 아니다.