알고리즘 문제를 푸는 마음가짐
1. 문제를 풀기전에 고민하는 시간, 구현하는 시간, 테스트 하는 시간을 1:1:1 비율로 한다. (되도록이면 고민하는 시간을 길게) 2. 고민하는 부분은 많지만 간략하게 다음과 같다. ① 어떠한 자료구조를 쓸지 (배열, 연결리스트, 어레이리스트) / (스택, 큐, 힙, 세그먼트 트리) ② 어떤 구조로 짤지 메소드의 위치, 틀 그리고 재귀로 구현할지 반복문으로 구현할지 속도 : 재귀 < 반복문 재귀는 자신이 할 일만하고 슥 넘기는 것이기 때문에 구현의 스케일이 큰 경우에 논리를 헷갈리지 않고 구현할 수 있다. ③ 어떠한 기술로 구현해야 할지 브루트포스, DFS, BFS, 백트래킹, 시뮬레이션, DP, 그리디 ④ 이렇게 구현하였을때 시간 복잡도가 어떻게 나오는지 10,000 * 10,000 = 100,00..
2021. 2. 9.