반응형
정답
let [count, ...arr] = require('fs').readFileSync('/dev/stdin').toString().trim().split('\n');
count = Number(count);
sol(count, arr);
function sol(count, arr){
let distance = arr[0].split(' ').map(i => BigInt(i));
let citys = arr[1].split(' ').map(i => BigInt(i));
let result = 0n;
let price = citys[0];
for(let i=0; i < count-1; i++){
result += distance[i] * price;
if(price > citys[i+1]){
price = citys[i+1];
}
}
console.log(result.toString());
}
풀이
현재 도시의 기름값 보다 한칸 앞에있는 도시의 기름값이 더 싸면 기름값을 더 싼 것으로 변경해준다.
이것을 반복하면 된다.
(최초의 기름값은 무조건 지불해서 거리를 가야한다.)
BigInt를 쓰지않으면 58점이 나온다.
Number로 커버 가능한 숫자인데 왜 그런지 모르겠다.
반응형
'Develop > 백준 코딩테스트' 카테고리의 다른 글
백준 코딩테스트 10610 30 자바스크립트 node.js (0) | 2022.07.07 |
---|---|
백준 코딩테스트 1789 수들의 합 자바스크립트 node.js (0) | 2022.07.07 |
백준 코딩테스트 10162 전자레인지 자바스크립트 node.js (0) | 2022.07.04 |
백준 코딩테스트 2217 로프 자바스크립트 node.js (0) | 2022.07.04 |
백준 코딩테스트 5585 거스름돈 자바스크립트 node.js (0) | 2022.07.04 |