최신 글
기술과 일상을 함께 기록합니다.
전체 기록
297[BaekJoon-7562] 나이트의 이동
체스판의 칸을 정점으로 보고 나이트의 여덟 방향 이동을 BFS로 탐색한다. 시작점과 도착점이 같은 경우도 계산한다.
[BaekJoon-7576] 토마토
처음 익은 토마토를 모두 큐에 넣는 다중 시작점 BFS로 익는 날짜를 센다. 빈 칸과 도달하지 못한 토마토를 구분한다.
[BaekJoon-2178] 미로탐색
이동 가능한 칸을 그래프 정점으로 보고 BFS 거리 배열로 최단 경로 길이를 구한다. 시작 칸과 방문 표시를 함께 처리한다.
Vue.js 정리
Vue 2의 상태·계산 속성·템플릿이 화면을 갱신하는 흐름을 예제로 살펴보고, 생명주기와 안전한 출력 방법을 다룬다.
13. 탐색: 순차 탐색, 이진 탐색, 탐색 트리
정렬 여부에 따라 순차·이진 탐색을 고르고 BST와 균형 트리에서 탐색 경로와 최악 비용을 비교한다.
10. Divide and Conquer(분할정복)
병합 정렬과 거듭제곱·행렬 피보나치로 분할, 기저 사례, 결합 단계와 재귀식의 시간 비용을 이해한다.
Greedy Algorithm(탐욕 알고리즘)
지역 선택이 전역 최적해로 이어지는 조건을 거스름돈 반례와 구간 선택의 교환 논증으로 확인한다.
Sort(정렬)
선택·삽입·버블·병합·퀵 정렬의 불변식과 복잡도를 비교하고 중간 피벗 구현의 무한 루프를 바로잡는다.
7. PriorityQueue(우선순위 큐)
우선순위 큐를 최소 힙으로 구현하면서 삽입 시 위로 올리기, 삭제 시 아래로 내리기와 배열 인덱스 계산을 예제로 설명한다.
6. hash(해시)
해시 함수가 키를 배열 인덱스로 바꾸는 과정, 충돌 해결, 적재율과 재해싱을 실제 코드로 살펴봅니다.
JavaScript class 문법
객체 리터럴, 생성자 함수와 프로토타입, JavaScript class로 같은 객체를 만드는 방법을 비교하고 메서드 공유와 상속을 설명한다.
객체 프로퍼티와 프로퍼티 속성
Object.defineProperty의 writable·enumerable·configurable 속성과 getter·setter를 통해 객체 프로퍼티의 변경 범위를 설명한다.