문제 설명
세 개의 매개변수를 입력받아 결과를 반환하는 JavaScript 함수를 작성해야 합니다.
cap — 운전자를 제외한 버스가 수용할 수 있는 최대 승객 수
on — 운전자를 제외한 현재 버스에 타고 있는 승객 수
wait — 운전자를 제외한 버스 탑승을 기다리고 있는 승객 수
버스에 여유 공간이 충분하다면 0을 반환하고, 공간이 부족하다면 탑승하지 못하는 승객의 수를 반환해야 합니다.
예시 코드
const cap = 120;
const on = 80;
const wait = 65;
const findCapacity = (cap, on, wait) => {
let x = 0;
let y = (on + wait);
if(y > cap){
x += (y - cap);
};
if(x < 0){
x = 0;
};
return x;
};
console.log(findCapacity(cap, on, wait));출력 결과
25
코드 동작 원리
이 함수의 로직은 간단합니다. 먼저 현재 탑승 중인 승객 수(on)와 대기 중인 승객 수(wait)를 더해 전체 요구 인원(y)을 구합니다. 이 값이 버스의 최대 수용 인원(cap)보다 크다면, 그 차이만큼이 탑승하지 못하는 승객 수(x)가 됩니다.
위 예시에서는 전체 요구 인원이 145명(80 + 65)인데 버스 정원은 120명이므로, 145 − 120 = 25명이 탑승하지 못하게 되어 25가 출력됩니다. 만약 여유 공간이 충분하다면 x는 음수가 되지 않도록 처리되어 0이 반환됩니다.