티스토리 뷰

https://www.acmicpc.net/problem/2485

 

2485번: 가로수

첫째 줄에는 이미 심어져 있는 가로수의 수를 나타내는 하나의 정수 N이 주어진다(3 ≤ N ≤ 100,000). 둘째 줄부터 N개의 줄에는 각 줄마다 심어져 있는 가로수의 위치가 양의 정수로 주어지며, 가

www.acmicpc.net

const fs = require('fs');
const input = fs.readFileSync("./dev/stdin").toString().trim().split("\n").map(v=>+v);

const N = input.shift();
const trees = input.sort((a,b)=>a-b);
let max = 0;
let interval = [];
let answer = 0;
for(let i = 0; i<trees.length-1; i++){
  const dist = trees[i+1]-trees[i];
  interval.push(dist)
  if(max<dist) max = dist;
}

function gcd(a,b){
  let temp;
  while(b!=0){
    temp = a%b;
    a = b;
    b = temp;
  }
  return a;
}

let GCD = gcd(interval[0],interval[1]);

for(let i = 2; i<interval.length; i++){
  GCD = gcd(GCD,interval[i])
}

interval.forEach(v=>{
  if(v>GCD) answer+=(v/GCD)-1
})

console.log(answer)
728x90
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
글 보관함