728x90
문제
https://www.acmicpc.net/problem/1026
1026번: 보물
첫째 줄에 N이 주어진다. 둘째 줄에는 A에 있는 N개의 수가 순서대로 주어지고, 셋째 줄에는 B에 있는 수가 순서대로 주어진다. N은 50보다 작거나 같은 자연수이고, A와 B의 각 원소는 100보다 작거
www.acmicpc.net
코드
//실버4 보물
//https://www.acmicpc.net/problem/1026
const fs = require("fs");
const filePath = process.platform === "linux" ? "/dev/stdin" : "./input.txt";
let input = fs.readFileSync(filePath).toString().trim().split("\r\n");
let S = 0; //정답 변수
const N = Number(input[0]);
//A는 오름차순 배열
let A = input[1]
.split(" ")
.map((i) => Number(i))
.sort((a, b) => a - b);
//B는 내림차순 배열
let B = input[2]
.split(" ")
.map((i) => Number(i))
.sort((a, b) => b - a);
for (let i = 0; i < N; i++) {
//정답에 A,B배열의 각 index요소를 곱하여 더하기
S += A[i] * B[i];
}
console.log(S);
후기
- 문제에 B는 재배열이 안된다는 함정이 숨어있었다. 하지만 출력은 결국 S를 하는 것이니 A,B를 어떻게 배열하든 그저 최소의 값만 만들면 되는 것이었다. 하나는 오름차순 하나는 내림차순 해서 각 index의 요소들을 곱해주면 그 값이 가장 최소값이 된다.
잘못된 내용이나 수정이 필요한 내용이 있으면 언제든 댓글 달아주세요 감사합니다 😀
'알고리즘 > BOJ' 카테고리의 다른 글
[백준] 셀프 넘버 / JavaScript / node.js (0) | 2022.02.22 |
---|---|
[백준] N과 M(2) / JavaScript / node.js (0) | 2022.02.19 |
[백준] N과 M(1) / JavaScript / node.js (0) | 2022.02.19 |
[백준] 피보나치 함수 / JavaScript / node.js (0) | 2022.02.15 |
[백준] 소수 구하기 / JavaScript / node.js (0) | 2022.02.15 |