백준 13305번 node.js
const fs = require('fs');
const input = fs.readFileSync('/dev/stdin').toString().trim().split('\n');
const city = Number(input[0]);
const distance = input[1].split(' ').map(Number);
let cost = input[2].split(' ').map(Number);
//주유 비용 비오름차순 변환
let minCost = cost[0];
for(let i = 0 ; i < city ; i += 1){
minCost = Math.min(cost[i], minCost);
cost[i] = minCost;
}
//이동 비용 합 계산
let totalCost = 0;
for (let j = 0 ; j < city-1 ; j += 1){
totalCost += distance[j] * cost[j];
}
console.log(totalCost);
자기보다 뒤에 있는 주유소가 현재보다 비쌀 경우, 미리 결제하는 개념입니다. 도시마다 [5, 2, 4, 1]의 비용이 들었다면, [5, 2, 2, 1]로 바꾸어줍니다. 내림차순과 다른, 같을때는 포함하는 이 개념을 비오름차순이라고 부릅니다.