최신 글
기술과 일상을 함께 기록합니다.
기술
297프로토타입과 상속
JavaScript의 프로토타입 체인, 생성자 prototype과 객체의 [[Prototype]] 차이, 속성 가리기와 상속 속성 순회를 예제로 설명한다.
호이스팅(Hoisting)
JavaScript 함수 선언과 var·let·const의 등록·초기화 시점 차이를 예제로 살펴보고 TDZ와 호출 오류가 생기는 이유를 설명한다.
[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 상태에 남겨 같은 수가 연속하지 않게 센다. 초기값과 큰 입력의 나머지 계산을 살핀다.
SU에서 EOF 사용시 내부 변수 처리 방법
su와 here-document를 함께 쓸 때 변수가 확장되는 셸을 구분하고, EOF 인용 여부와 이스케이프에 따른 결과를 비교한다.