질보다 양.
접근 방식이 중요하다. 문제를 많이 보고 유형 파악 및 패턴 익히는데 집중하자. 오래 붙들고 있어봤자 실력 크게 안 는다.
풀이 시간은 최대 30분. 안 풀리면 바로 구글링.
단순히 문제만 풀고 넘기는게 아니라 풀이 계획, 복잡도 검증, 회고에 집중.
- 시뮬레이션 & 구현
- 브루트 포스(순열과 조합)
- 백트래킹(DFS)
- 그래프 순회(BFS)
- DP
- 그리디
- 이분탐색
- 투 포인터
2016 ~ 2019년 사이에 출제되었던 주요 기업들의 공채에 등장한 알고리즘 유형
https://www.hanbit.co.kr/media/channel/view.html?cms_code=CMS7793635735
-
✔️ 코테 빈출 & 기본
tony9402님 커리큘럼대로 문제 풀이 돌리기.
틀렸거나 접근 방식을 찾는데 어려웠다면 문제 북마크.
골드 3 난이도까지 풀어보는걸 목표로 -
⭐ 복습 풀었던 것들중에 백준에서 별 북마크한 문제들 유형 보지 말고 다시 풀어보기. 또 틀리는 문제들 종합해서 1번으로 돌아가서 공부
-
유형 모르는 상태로 풀기 (프로그래머스, leetcode)
실전 단계. 골드 3 난이도의 문제까지 안정적으로 푸는 것이 목표.
기업 코딩 테스트 문제를 참고하는 것도 괜찮을 듯.
- 대기업 코딩 테스트 (위 과정들이 선행되어야 함)
- BST(다익스트라, 크루스칼)
- 우선순위 큐(힙)
- 해시 맵
- 유니온 파인드
- trie
한윤정이 이탈리아에 가서 아이스크림을 사먹는데 정답 코드
- 위의 커리큘럼 끝냈을 때는 9월 1일. 이때부턴 문제를 다 풀지 말고 문제 파악과 접근 에 집중하자.
- 컴공선배 팁대로. 정말 문제접근만 제대로 구해도 성공이다.
- 별표친것들도 다시 패자
- 여러 유형으로 시도해보고, 왜 이런 방법을 쓸 수밖에 없었는지 고민. 시간복잡도와 유형 선택의 상관관계에 대해 생각해보기
- 덜 빈출 : 백준 단계별로 풀어보기
- 수학 정수론 및 조합론 : 8
- 투 포인터 : 5
- 해시(집합과 맵) : 7
- 이진 검색 트리(트리, 트리에서의 DP) : 7 + 4
- 최소 신장 트리(MST) : 6
- 플로이드, 다익스트라(최단 경로) : 7
- 위상 정렬 : 3
- KMP(문자열 알고리즘1) : 2
- 트라이(문자열 알고리즘1) : 3
- 문자열 : ?
- DP 심화 (DP 2) : 6
- 비트마스크(동적 계획법3) : 6
- 유니온 파인드 : 4
- 각 기업별 기출 풀기(대충 10월~12월. 60개)
- 중요 & 취약 유형이 무엇인지 전략 짜기
- https://school.programmers.co.kr/learn/challenges?tab=algorithm_practice_kit