function solution(dots) {
let arr = [];
const inclination = (arr1, arr2) => {
return (arr1[0] - arr2[0]) / (arr1[1] - arr2[1]);
};
let line12 = inclination(dots[0], dots[1]);
arr.push(line12);
let line13 = inclination(dots[0], dots[2]);
if (arr.includes(line13)) return 1;
arr.push(line13)
let line14 = inclination(dots[0], dots[3]);
if (arr.includes(line14)) return 1;
arr.push(line14)
let line23 = inclination(dots[1], dots[2]);
if (arr.includes(line23)) return 1;
arr.push(line23)
let line24 = inclination(dots[1], dots[3]);
if (arr.includes(line24)) return 1;
arr.push(line24)
let line34 = inclination(dots[2], dots[3]);
if (arr.includes(line34)) return 1;
arr.push(line34)
return 0;
}
하드코딩으로 먼저 풀고 리팩토링하는 식으로 진행했다. 함수로 변형하는 식으로 했습니다만 아직 하드코딩의 모습이 많이 남아있습니다. 풀이하는 원리는 비슷하게 가져갔지만 더욱 간결하게 적용할 수 있도록 노력할 것