const fs = require('fs');
const inputData = fs.readFileSync('example.txt').toString().split('\n');
const numList = inputData[1].toString().split(' ');
// const arr = inputData[0].toString().split(' ');
// const N = Number(arr[0]);
// const M = Number(arr[1]);
// const K = Number(arr[2]);
const [N, M, K] = inputData[0].toString().split(' ').map(Number);
let answer = 0;
// 오름차순으로 정렬
numList.sort();
const F = numList[N - 1]; // 가장 큰 수
const S = numList[N - 2]; // 두번째로 큰 수
// 가장 큰 수를 더하는 횟수
const fCount = K * (Math.floor(M / (K + 1))) + M % (K + 1)
// 두번째로 큰 수를 더하는 횟수
// const sCount = Math.floor(M / (K + 1))
const sCount = M-fCount
// 총합
answer = F*fCount + S*sCount
console.log(answer);
코딩테스트 뿐만 아니라 실무에서도 요긴하게 자주 써먹은 조합이다. 기억해두자!
const arr = ['1', '2', '3'];
const [num1, num2, num3] = arr.map(Number);
console.log(num1) // 결과값: 1