길이 5의 배열이 들어왔을 때 랜덤한 요소 4개 합의 최소값과 최대값을 구해라.
sort 메서드로 인자로 받은 배열을 오름차순 정렬시키고 slice 매서드와 reduce 매서드를 조합해서 계산하면 됨.
"use strict";
process.stdin.resume();
process.stdin.setEncoding("utf-8");
let inputString = "";
let currentLine = 0;
process.stdin.on("data", function (inputStdin) {
inputString += inputStdin;
});
process.stdin.on("end", function () {
inputString = inputString.split("\n");
main();
});
function readLine() {
return inputString[currentLine++];
}
/*
* Complete the 'miniMaxSum' function below.
*
* The function accepts INTEGER_ARRAY arr as parameter.
*/
function miniMaxSum(arr) {
const sortedArr = arr.sort((a, b) => a - b);
const miniSum = sortedArr
.slice(0, sortedArr.length - 1)
.reduce((acc, cur) => acc + cur, 0);
const maxSum = sortedArr.slice(1).reduce((acc, cur) => acc + cur, 0);
console.log(`${miniSum} ${maxSum}`);
}
function main() {
const arr = readLine()
.replace(/\s+$/g, "")
.split(" ")
.map((arrTemp) => parseInt(arrTemp, 10));
miniMaxSum(arr);
}
sort 매서드로 오름차순/내림차순 정렬하기
slice 매서드 =>
인자가 하나(n)면 n개 만큼 앞에서 빼고 복사
인자가 두개(a,b)면 인덱스 a부터 b까지 복사
reduce 매서드로 배열 요소의 합 구하기