반응형

2024/09/30 3

백준 13325: 이진트리 - javascript(트리)

문제 출처 https://www.acmicpc.net/problem/13325 정답 코드 const fs = require('fs');const input = fs.readFileSync('/dev/stdin').toString().trim().split('\n');let k = Number(input[0]); // 트리의 높이let size = Math.pow(2, k + 1) - 1; // 트리의 전체 노드 수let arr = new Array(size + 1).fill(0); // 노드의 가중치를 저장하는 배열// 트리의 가중치 입력let weights = input[1].split(' ').map(Number);for (let i = 2; i = size) { ans += arr..

백준 11066: 파일 합치기 - javascript(dp)

문제 출처 https://www.acmicpc.net/problem/11066 정답 코드 전략1. 주어진 파일을 순서대로 합치고, 파일을 합치는 비용은 두 파일 크기의 합이다. 2. 여러 파일을 합치기 위해 최적 부분 구조를 활용한 dp를 사용하여, 부분 문제들의 최솟값을 저장하며 문제를 해결한다. 3. 합칠 파일의 범위를 설정하고, 그 범위 내에서 파일을 합치는 최소 비용을 찾는 방식으로 접근한다.  해결 과정1. 먼저 각 파일의 크기를 저장하고, 파일의 누적합 배열을 미리 구한다. 2. dp 테이블을 설정하여 각 구간에서의 최소 비용을 기록한다. 3. 주어진 파일들을 두 그룹으로 나누고, 각 그룹을 합친 뒤 다시 합치는 비용을 반복적으로 계산한다.  누적합 배열 : 0번째 부터 i 번째 파일까지의 크..

백준 16987: 계란으로 계란치기 - javascript(백트래킹, 완전탐색)

문제 출처 https://www.acmicpc.net/problem/16987 정답 풀이 완전 탐색을 이용한다. 정답 코드 //계란으로 계란 치기 //-각 계란 내구도, 무게 //-상대 계란의 무게만큼 계란의 내구도가 깍임 //-계란 0이하 깨짐 //일렬 계란, 차례로 들어, 한번씩 다른 계란 쳐 => 최대한 많은 계란 깨기 let input = require('fs').readFileSync('/dev/stdin').toString().trim().split('\n')const n = Number(input.shift()); let egg = input.map(el => el.split(' ').map(v => +v)); function solution(n,egg){ let max = 0 f..

반응형