[백준] 16562번: 친구비 (JavaScript)
·
PS
문제https://www.acmicpc.net/problem/16562 개념그래프, 분리 집합, 유니온 파인드   구현 코드(JavaScript)const fs = require('fs');const input = fs.readFileSync('/dev/stdin').toString().trim().split('\n');const [n, m, k] = input[0].split(' ').map((i) => +i);const friendCost = input[1].split(' ').map((i) => +i); // 친구비 입력const friendRelation = input // 친구 관계 [v, w] 입력 .slice(2) .map((real) => real.split(' ').map((i) =>..
[백준] 2108번: 통계학 (JavaScript)
·
PS
문제https://www.acmicpc.net/problem/2108개념수학, 구현구현 코드(JavaScript)const fs = require('fs');const input = fs.readFileSync(0, 'utf-8').trim().split('\n');const n = +input[0];const arr = input.slice(1).map((i) => +i);arr.sort((a, b) => a - b);// 산술평균let avg = (arr.reduce((a, c) => a + c, 0) / n).toFixed(0);console.log(avg == '-0' ? 0 : avg);// 중앙값console.log(arr[Math.floor(n / 2)]);// 최빈값const map = n..
[백준] 13904번: 과제 (JavaScript)
·
PS
문제https://www.acmicpc.net/problem/13904  개념그리디, 정렬, 우선순위 큐 코드 설명그리디 알고리즘을 이용해 풀 수 있습니다. 가장 큰 점수를 구하기 위해서는 최대한 큰 점수의 과제부터 처리하되, 가능한 가장 늦은 날짜에 배정해야만 대한 많은 과제를 수행하고 높은 점수를 얻을 수 있기 때문입니다.  문제의 요구사항을 분석하면 다음과 같습니다.하루에 한 과제만 할 수 있습니다.과제는 마감일 전에만 수행할 수 있습니다.목표는 얻을 수 있는 점수의 최댓값을 구하는 것입니다. 이를 해결하기 위한 알고리즘의 핵심 아이디어는 다음과 같습니다.정렬 방식: 점수 기준 내림차순으로 정렬합니다. 마감일에 따라 높은 점수의 과제부터 할당스케줄 배열 사용: scedule 배열을 사용하여 각 날짜..
[백준] 11659번: 구간 합 구하기 4 (JavaScript)
·
PS
문제https://www.acmicpc.net/problem/11659  개념누적 합  실행 결과1291     구현 코드(JavaScript)const fs = require('fs');// 백준 제출용let input = fs.readFileSync('/dev/stdin').toString().trim().split('\n');// 로컬 테스트용// const filePath =// process.platform === 'linux' ? '/dev/stdin' : __dirname + '/input.txt';// const input = fs.readFileSync(filePath).toString().trim().split('\n');// 백준 11659번: 구간 합 구하기 4const [n, ..
[백준] 15926번: 현욱은 괄호왕이야!! (JavaScript)
·
PS
문제https://www.acmicpc.net/problem/15926 개념자료구조, 스택  실행 결과   구현 코드(js)const fs = require('fs');// 백준 제출용let input = fs.readFileSync('/dev/stdin').toString().trim().split('\n');// 로컬 테스트용// const filePath =// process.platform === 'linux' ? '/dev/stdin' : __dirname + '/input.txt';// let input = fs.readFileSync(filePath).toString().trim().split('\n');// 15926번 현우는 괄호왕이야!!const n = Number(input.shi..