최신 글
기술과 일상을 함께 기록합니다.
7. PriorityQueue(우선순위 큐)
우선순위 큐를 최소 힙으로 구현하면서 삽입 시 위로 올리기, 삭제 시 아래로 내리기와 배열 인덱스 계산을 예제로 설명한다.
6. hash(해시)
해시 함수가 키를 배열 인덱스로 바꾸는 과정, 충돌 해결, 적재율과 재해싱을 실제 코드로 살펴봅니다.
[BaekJoon-2667] 단지번호붙이기
격자의 집을 BFS로 묶어 단지별 크기를 세고 오름차순으로 출력한다. 방문 표시 시점과 고립된 집도 확인한다.
[BaekJoon-1707] 이분그래프
BFS로 인접 정점을 서로 다른 색으로 칠해 이분 그래프인지 판정한다. 분리된 요소와 홀수 길이 사이클도 검사한다.
[BaekJoon-11724] 연결요소의 개수
미방문 정점마다 BFS를 시작해 무방향 그래프의 연결 요소를 센다. 고립 정점과 사이클에서도 중복 방문을 막는다.
[BaekJoon-1260] DFS 와 BFS
인접 정점을 오름차순으로 정렬한 뒤 DFS와 BFS의 방문 순서를 출력한다. 방문 표시 시점과 두 탐색의 차이를 추적한다.
7. 그래프(Graph)
인접 행렬과 인접 리스트의 공간·탐색 비용을 비교하고, 방문 배열을 이용한 DFS·BFS의 순서와 적용 조건을 코드로 확인한다.
6. 트리(Tree)
부모·자식 관계와 깊이·높이를 정의하고 일반 트리·수식 트리·이진 트리의 표현과 전위·중위·후위 순회를 코드로 따라간다.
[BaekJoon 2309] 일곱 난쟁이
아홉 명의 키 합에서 제외할 두 명의 키를 찾아 100을 만든다. 중복 조합을 피하고 남은 일곱 명을 정렬해 출력한다.
[BaekJoon 1912] 연속합
각 위치에서 끝나는 최대 연속합을 이전 합과 현재 값으로 갱신한다. 음수만 있는 수열과 전체 최댓값의 차이를 다룬다.
[BaekJoon-15990] 1,2,3 더하기 5
마지막에 붙인 수를 DP 상태에 남겨 같은 수가 연속하지 않게 센다. 초기값과 큰 입력의 나머지 계산을 살핀다.
[Baekjoon-10844] 쉬운 계단 수
길이와 마지막 자릿수를 DP 상태로 두고 이웃한 숫자에서 이어지는 계단 수를 센다. 0·9 경계와 나머지 연산을 다룬다.