문제 링크
https://softeer.ai/practice/7626
Softeer - 현대자동차그룹 SW인재확보플랫폼
softeer.ai
난이도 : 별 1개
문제 풀이
1) 이미 오름차순으로 받는다고 가정했으므로 minDistance를 최대한 크게 잡고 첫 번째부터 계속 distance를 빼가며 minDistance를 줄여간다.
2) 그 후 distance가 minDistance면 count ++ 해준다.
문제 코드
const readline = require("readline");
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout,
});
let input = [];
rl.on("line", (line) => {
input.push(line.trim());
if (input.length === 2) {
rl.close();
}
});
rl.on("close", () => {
const n = parseInt(input[0]);
const positions = input[1].split(' ').map(Number);
// 가장 가까운 두 마을의 거리를 구함
let minDistance = Infinity;
for (let i = 1; i < n; i++) {
const distance = positions[i] - positions[i - 1];
if (distance < minDistance) {
minDistance = distance;
}
}
// 가장 가까운 두 마을의 거리가 같은 경우의 수를 구함
let count = 0;
for (let i = 1; i < n; i++) {
const distance = positions[i] - positions[i - 1];
if (distance === minDistance) {
count++;
}
}
console.log(count);
process.exit();
});
'코딩테스트 대비' 카테고리의 다른 글
[코딩테스트] node.js 입출력 작성 방법 (0) | 2024.06.27 |
---|