나는 이렇게 학습한다/Algorithm & SQL

Transportation on vacation

daco2020 2022. 4. 8. 21:59
반응형

Description:

After a hard quarter in the office you decide to get some rest on a vacation. So you will book a flight for you and your girlfriend and try to leave all the mess behind you.

You will need a rental car in order for you to get around in your vacation. The manager of the car rental makes you some good offers.

Every day you rent the car costs $40. If you rent the car for 7 or more days, you get $50 off your total. Alternatively, if you rent the car for 3 or more days, you get $20 off your total.

Write a code that gives out the total amount for different days(d).

 

 

Solution:

1. Multiply 40 by the number of 'd'.
2. If the number of 'd' is 7 or more, subtract 50 and return it.
3. If the number of 'd' is 3 or more, subtract 20 and return it.

 

def rental_car_cost(d):
    cost = d * 40
    discount = {
        True:50, False:{
        True:20, False:0
        }[d >= 3]
    }[d >= 7]
    return cost - discount

This time, I deliberately used a dictionary to solve it.
I was able to solve the two branches into a dictionary without using if.

 

 

Actually, this problem can be solved more simply.
For a simpler solution, refer to the code below.

def rental_car_cost(d):
  return d * 40 - (d > 2) * 20 - (d > 6) * 30

 

 

 

반응형

'나는 이렇게 학습한다 > Algorithm & SQL' 카테고리의 다른 글

Remove First and Last Character Part Two  (0) 2022.04.10
Total amount of points  (0) 2022.04.09
Beginner - Lost Without a Map  (0) 2022.04.07
Calculate average  (0) 2022.04.07
Hide Kata Description  (0) 2022.04.05