정리
자료구조 주의사항!!
- 우선순위큐는 삽입, 삭제 시에만 재정렬이 되는거지, 내부의 값을 수정했을때는 정렬이 적용되지 않음
- 이럴땐 건실하게 그냥 리스트 쓰고, 변경했을때 정렬 알고리즘 써라
- 큐, 스택, 우선순위큐 자료구조들은 get을 통한 접근이 불가능하다!
- 이러고 싶으면 링크리스트 써라! 링크리스트는 offer(), poll() 연산 다 지원함
- remove() 연산을 사용하면 삭제되는 값을 반환해줌
n만큼 이동을 해야하는데, 계속 변동성이 생기는 경우
// diff 만큼 이동해야하는데 중간에 빠지는값 떄문에 diff - 빠지는값 만큼 이동해야하는 경우
// adjusts란 배열에 빠진 값들을 저장해서 빠진 값들 중에 중간 값이 몇개 있는지 체크 -> 그 값을 적용
int diff = t - dq.peekFirst();
int adj = checkDiffBetween(t, dq.peekFirst());
diff = (diff > 0) ? diff - adj: diff + adj;
static ArrayList<Integer> adjusts = new ArrayList<>();
public static int checkDiffBetween(int s, int e){
if(s > e){
int temp = s;
s = e;
e = temp;
}
int count = 0;
for(int v : adjusts){
if(v > s && v < e){
count++;
}
}
return count;
}
'코딩테스트 > 알고리즘' 카테고리의 다른 글
dp 유형 오답노트 (0) | 2024.08.21 |
---|---|
그래프 탐색 유형 오답노트 (0) | 2024.08.21 |
14. 그래프 - 트리(Tree), 이진 탐색 트리(BST), 트리 순회(Tree Traversal) (2) | 2024.04.02 |
13. 그래프 - 최소 공통 조상(LCA) (0) | 2024.04.02 |
12. 그래프 - 위상 정렬 (0) | 2024.04.02 |