- Solve level1~level3 problems of programmers site
- Not yet set
향후 개선을 위해 다음과 같은 형태로 주석을 달 것.
"""
programmers ~~문제 풀이
시작 시간: 2022.07.17 18:15
끝 시간: 2022.07.17 18:19
걸린 시간: N분
병목 원인:
개선 방법:
"""
- Small case로 나누고 풀어보자.
- 어떤 자료구조가 적합할 지 한 번쯤 생각해보자. (stack, queue)
- 문제의 제약사항에 따라 데이터의 연산이 이뤄지는 부분이 정해져있는지 확인하자. (e.g., list의 앞과 뒤에서만 연산이 이루어진다.)
- 어려운 문제일수록 brute force idea에서 시작해서 발전시키자.
- 탐색 문제의 경우 hash를 통해 시간복잡도를 줄일 수 있는지 확인하자.
- 정렬 문제 또는 최댓값, 최솟값을 계속 뽑는 문제의 경우 heapq library를 활용하자.
- https://wayhome25.github.io/python/2017/06/14/time-complexity/ (list, dict 내장함수 시간복잡도)