목록노드 (3)
N

생활코딩 강의를 바탕으로 쓴 글입니다 :) 파일 읽기 이제 파일을 읽어 본문의 내용을 바꿔보도록 하겠습니다. 우선 data라는 폴더를 만들어 HTML, CSS, JavaScript 파일을 만들겠습니다. 확장자는 쓰지 않습니다. 각 파일에 본문 내용을 넣도록 하겠습니다. html.html, css.html, js.html에서 태그 다음에 오는 태그에서 내용만 잘라내서 data 폴더에 있는 파일명에 맞게 붙여넣겠습니다. HTML의 본문 내용 중 태그는 지우고 진행하겠습니다! 이제 main.js를 수정하겠습니다. const app = http.createServer((req, res) => { ... res.writeHead(200); fs.readFile(`data/${queryData.id}`, "utf8..
문제 N(2 ≤ N ≤ 50,000)개의 정점으로 이루어진 트리가 주어진다. 트리의 각 정점은 1번부터 N번까지 번호가 매겨져 있으며, 루트는 1번이다. 두 노드의 쌍 M(1 ≤ M ≤ 10,000)개가 주어졌을 때, 두 노드의 가장 가까운 공통 조상이 몇 번인지 출력한다. 입력 첫째 줄에 노드의 개수 N이 주어지고, 다음 N-1개 줄에는 트리 상에서 연결된 두 정점이 주어진다. 그 다음 줄에는 가장 가까운 공통 조상을 알고싶은 쌍의 개수 M이 주어지고, 다음 M개 줄에는 정점 쌍이 주어진다. 출력 M개의 줄에 차례대로 입력받은 두 정점의 가장 가까운 공통 조상을 출력한다. www.youtube.com/watch?v=O895NbxirM8 LCA에 대한 알고리즘을 나동빈님의 영상으로 참고하였다..! #in..

문제 트리에서 리프 노드란, 자식의 개수가 0인 노드를 말한다. 트리가 주어졌을 때, 노드 하나를 지울 것이다. 그 때, 남은 트리에서 리프 노드의 개수를 구하는 프로그램을 작성하시오. 노드를 지우면 그 노드와 노드의 모든 자손이 트리에서 제거된다. 예를 들어, 다음과 같은 트리가 있다고 하자. 현재 리프 노드의 개수는 3개이다. (초록색 색칠된 노드) 이때, 1번을 지우면, 다음과 같이 변한다. 검정색으로 색칠된 노드가 트리에서 제거된 노드이다. 이제 리프 노드의 개수는 1개이다. 입력 첫째 줄에 트리의 노드의 개수 N이 주어진다. N은 50보다 작거나 같은 자연수이다. 둘째 줄에는 0번 노드부터 N-1번 노드까지, 각 노드의 부모가 주어진다. 만약 부모가 없다면 (루트) -1이 주어진다. 셋째 줄에는..