[JS/백준]{구현}(18311) 왕복
2022년 09월 27일
백준 문제 링크
문제 설명
현재 자신이 k만큼의 코스에 있다면 현재있는 코스의 번호를 출력하는것이 문제의 요점이다.
현재 코스의 정보를 저장하기위해 roadInfo에 [코스거리, 코스번호] 형식으로 저장한다음에
왕복을 구현해야 하기떄문에 해당 배열을 뒤집어서 합쳐주었다. 그후 코스거리를 누적해서 더하기를
해주고 누적값보다 k가 작을경우 해당 코스에서 달리고있다는 말이기때문에 해당 코스정보를 출력한다.
코드
const line = require("fs").readFileSync("./input.txt", "utf8");
const inputData = line.trim().split("\n");
const [n, k] = inputData[0].split(" ").map((val) => +val);
let roadInfo = inputData[1].split(" ").map((val, idx) => [+val, idx + 1]);
let copy = roadInfo.slice().reverse();
let totalRoadInfo = roadInfo.concat(copy);
let curDistance = 0;
for (let i = 0; i < totalRoadInfo.length; i++) {
curDistance += totalRoadInfo[i][0];
if (k < curDistance) {
console.log(totalRoadInfo[i][1]);
process.exit();
}
}