백준15702 - 중간고사 채점 node.js 본문
반응형
https://www.acmicpc.net/problem/15702
문제는 각 문제의 배점과 각 사람들의 결과가 주어졌을 때, 가장 높은 점수를 획득한 사람과 그 점수를 구하는 문제다.
문제 해결 방식
각 사람에 따라 획득한 점수를 구한 뒤 만약 해당 점수가 최댓값을 넘는다면, 최댓값과 현재 가장 높은 점수인 수험번호를 갱신하고
해당 점수와 최댓값이 같다면 해당 사람의 수험 번호만 갱신했다.
전체 소스 코드
const fs = require("fs");
const input = fs
.readFileSync(process.platform === "linux" ? "/dev/stdin" : "입력.txt")
.toString()
.trim()
.split("\n");
function solution(data) {
const [[_, __], scores, ...matrix] = data.map((el) =>
el.split(" ").map((v) => (!isNaN(v) ? Number(v) : v))
);
matrix.sort((a, b) => a[0] - b[0]);
let v = Infinity,
max = 0;
matrix.forEach((el) => {
const [k, ...rest] = el;
const temp = rest.reduce((acc, cur, idx) => {
return acc + (cur === "O" ? scores[idx] : 0);
}, 0);
if (temp > max) {
max = temp;
v = k;
} else if (temp === max) v = Math.min(v, k);
});
console.log(v, max);
}
solution(input);
반응형
'개발 > algorithm' 카테고리의 다른 글
백준14382 - 숫자세는 양 (set) node.js (0) | 2024.03.20 |
---|---|
백준22252 - 정보 상인 호석 (최대 힙, 해시) node.js (0) | 2024.03.18 |
백준1895 - 필터 (완전탐색) node.js (0) | 2024.03.14 |
백준17390 - 이건 꼭 풀어야 해 (누적합) node.js (1) | 2024.03.12 |
백준20115 - 에너지 드링크 (그리디) node.js (0) | 2024.03.10 |
Comments