[백준/BOJ] 13305 주유소
(tmi) 요즘 쿠팡에서 산 휴대폰 감옥에 내 폰을 넣어두고 살고 있다.. 자기 전에 심심해서 나의 알고리즘 나무가 골라준 문제를 풀었는데 웬걸..!!
node.js로 맞힌 사람 810명 중에 내가 1등(2024.11.24 기준..)인 것이다..!!!! 바로 자랑하러 옴!!

pop()할 필요 없이 그냥 for문을 N-1까지 돌린다)let [N, distance, price] = require("fs")
.readFileSync("/dev/stdin")
.toString()
.trim()
.split("\n");
N = Number(N);
distance = distance.split(" ").map(Number);
price = price.split(" ").map(Number);
let idx = 0; // 뒤에 더 작은 가격이 나오면 인덱스 교체
let cost = BigInt(0);
for (let i = 0; i < N - 1; i++) {
if (price[idx] > price[i]) {
idx = i;
}
cost += BigInt(price[idx] * distance[i]);
}
console.log(cost.toString());
처음에는 BigInt를 사용하지 않아서 58점에서 뚝. 끊겨버렸다
그리고 BigInt를 사용한 후엔 Number(cost)를 출력하도록 했는데 마찬가지로 58점에서 뚝..
그냥 toString()으로 내보니 잘 작동하더라~~
짠짠짠 ~~ 알고리즘 너무 안 풀려서 요즘 권태기였는데 흑흑
비록 실버3이지만 넘 뿌듯해 !!


BigInt는 Math 메서드와 호환이 되지 않는다 (타입 에러 발생ㅜㅜ)Number)에 기반한 연산을 수행한다BigInt는 정밀도를 유지하기 위해 정수만을 처리하므로, Math의 메서드와는 동작 원리가 다르다!Number와 BigInt의 혼합 사칙연산은 불가넝
오오오 1등!!😄😄