문제
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 |