<aside> 📌 제한 사항에 N값을 보고 어떻게 구현할지 설계 하고 작업하기 !!!
ex. 리스트 돌면서 이중포문 돌려서 작업하면 충분히 끝나는 작업(O(N²))일 때, 포문을 2개로 나눠서 작업하면 (O(N))
<aside> 🛠️ 시간 제한이 1초인 문제의 경우 → 1억에 1초가 걸린다고 한다. 100,000,000
**BFS의 시간복잡도는 O(N²)**이다. (모든 정점 (N², 정점마다 4방 -> O(4(N²)=O((N²))
**Collections.sort()의 시간복잡도는 O(nlogn)**이다.
시간 제한이 1초인 문제의 경우 </aside>
시간 복잡도 → 탐색 문제 (NlogN) 알고리즘으로 풀기 //이진탐색
Map O(1)임
N은 항상 짝수이다 -> 뭐다? 반띵해서 나눠서 써보지 않을래??
Priority Queue
: 원소 삽입 시 특정 조건으로 정렬을 해준다.
String 비교 시 == 말고 .equals() 쓰기
문자열 길이 → length() / list → size() / 일반 배열 → length </aside>
자료구조별 시간복잡도
정리해두깅 …
permutation
자바 [getOrDefault, putIfAbsent]
dp
[알고리즘] 동적계획법 DP (Dynamic Programming) 정리 (Java)
import java.util.*;
import java.io.*;