차량 구매

차량 구매

학습 연습 문제

소개

비교

JavaScript에서는 숫자를 다음과 같은 관계 연산자와 동등 연산자로 비교할 수 있어요.

비교 연산자
보다 큼 a > b
크거나 같음 a >= b
보다 작음 a < b
작거나 같음 a <= b
(엄격) 같음 a === b
(엄격) 같지 않음 a !== b

비교 결과는 항상 true 또는 false라는 불리언 값이에요.

1 < 3;
// => true

2 !== 2;
// => false

1 === 1.0;
// => true
// All numbers are floating-points, so this is different syntax for
// the exact same value.

JavaScript에서는 위의 비교 연산자로 문자열을 비교할 수도 있어요. 이 경우에는 사전식 순서가 적용돼요. 모든 문자의 정확한 순서 목록은 여기에서 볼 수 있어요.

'Apple' > 'Pear';
// => false

'a' < 'above';
// => true

'a' === 'A';
// => false

조건문

JavaScript에서 조건에 따라 로직을 실행하는 일반적인 방법은 if문이에요. if 키워드, 소괄호로 감싼 조건, 중괄호로 감싼 코드 블록으로 이루어져요. 코드 블록은 조건이 true로 평가될 때만 실행돼요.

if (condition) {
  // code that is executed if "condition" is true
}

단독으로 사용하거나 else 키워드와 함께 사용할 수 있어요.

if (condition) {
  // code that is executed if "condition" is true
} else {
  // code that is executed otherwise
}

else문 안에 또 다른 조건을 중첩하려면 else if를 사용할 수 있어요.

if (condition1) {
  // code that is executed if "condition1" is true
} else if (condition2) {
  // code that is executed if "condition2" is true
  // but "condition1" was false
} else {
  // code that is executed otherwise
}

지침

이 연습 문제에서는 차량 구매를 준비하는 데 도움이 되는 코드를 작성해요.

세 가지 작업이 있어요. 하나는 면허가 필요한지 판단하는 것, 하나는 두 차량 중에서 선택하도록 돕는 것, 또 하나는 중고 차량의 적정 가격을 추정하는 것이에요.

1. 운전면허가 필요한지 판단하기

어떤 종류의 차량은 운전하려면 운전면허가 필요해요. 'car'와 'truck' 종류만 면허가 필요하고, 나머지는 모두 면허 없이 운전할 수 있다고 가정해요.

차량 종류를 받아 그 종류에 면허가 필요한지를 나타내는 불리언을 반환하는 needsLicense(kind) 함수를 구현해요.

needsLicense('car');
// => true

needsLicense('bike');
// => false

2. 구매할 두 후보 차량 중에서 선택하기

구매할 수 있는 차량들을 하나씩 살펴봐요. 후보를 두 가지로 좁혔지만, 최종 결정을 내리려면 도움이 필요해요. 그러기 위해 두 차량을 인자로 받아, 사전 순으로 앞서는 차량을 포함한 결정을 반환하는 chooseVehicle(option1, option2) 함수를 구현해요.

chooseVehicle('Wuling Hongguang', 'Toyota Corolla');
// =>  'Toyota Corolla is clearly the better choice.'

chooseVehicle('Volkswagen Beetle', 'Volkswagen Golf');
// =>  'Volkswagen Beetle is clearly the better choice.'

3. 중고 차량의 예상 가격 계산하기

이제 결정을 내렸으니, 자동차 판매점에서 적정한 가격에 사는지 확인하고 싶어요. 중고 차량을 사려고 하니, 가격은 차량이 얼마나 오래됐는지에 따라 달라져요. 대략적으로 추정해 보면, 차량이 3년 미만이면 새 차였을 때의 원래 가격에서 80%를 받아요. 10년이 넘으면 50%를 받아요. 차량이 3년 이상이지만 10년 이하라면 원래 가격의 70%를 받아요.

if, else if, else를 사용해 이 로직을 적용하는 calculateResellPrice(originalPrice, age) 함수를 구현해요(연습하고 싶다면 다른 방법을 써도 돼요). 원래 가격과 차량의 연식을 인자로 받아, 판매점에서의 예상 가격을 반환해요.

calculateResellPrice(1000, 1);
// => 800

calculateResellPrice(1000, 5);
// => 700

calculateResellPrice(1000, 15);
// => 500
GitHub에서 편집 링크가 새 창이나 탭에서 열려요
JavaScript Exercism

차량 구매 문제를 시작해 볼 준비가 됐나요?

Exercism에 가입하고 JavaScript 트랙을 개념 37개연습 문제 159개, 그리고 실제 사람의 멘토링과 함께 배우고 익혀 보세요. 모두 무료예요.