이번 글에서는 자바스크립트를 활용해 두 개의 직육면체(cuboid) 부피 차이를 계산하는 방법을 알아보겠습니다.
문제 정의
두 직육면체의 가로, 세로, 높이 값을 입력으로 받는 자바스크립트 함수를 작성해야 합니다.
함수는 각 직육면체의 부피를 계산한 뒤, 두 부피의 절댓값 차이를 반환해야 합니다.
접근 방법
직육면체의 부피는 다음 공식으로 구할 수 있습니다.
부피 = 가로 × 세로 × 높이
따라서 각 직육면체의 부피를 위 공식으로 계산하고, Math.abs() 메서드를 사용하면 두 부피의 절댓값 차이를 손쉽게 구할 수 있습니다.
예제 코드
const h1 = 10;
const w1 = 12;
const l1 = 15;
const h2 = 12;
const w2 = 15;
const l2 = 9;
const findVolumeDifference = (l1, w1, h1, l2, w2, h2) => {
const v1 = l1 * w1 * h1;
const v2 = l2 * w2 * h2;
const diff = Math.abs(v1 - v2);
return diff;
};
console.log(findVolumeDifference(l1, w1, h1, l2, w2, h2));코드 설명
위 코드에서는 화살표 함수(arrow function) 형태로 findVolumeDifference 함수를 정의했습니다. 함수 내부에서는 첫 번째 직육면체의 부피 v1과 두 번째 직육면체의 부피 v2를 각각 계산합니다.
그다음 Math.abs(v1 - v2)를 통해 두 부피의 차이에 절댓값을 적용하여, 어떤 직육면체가 더 크더라도 항상 양수인 차이 값을 얻을 수 있습니다.
출력 결과
180
첫 번째 직육면체의 부피는 15 × 12 × 10 = 1800이고, 두 번째 직육면체의 부피는 9 × 15 × 12 = 1620입니다. 따라서 두 부피의 차이는 |1800 − 1620| = 180이 됩니다.