DEV Community

Qroia FAK(C)E
Qroia FAK(C)E

Posted on

2 2

Codewars Day #1, 5kuy

Name Kata

Pete, the baker

Details

Pete likes to bake some cakes. He has some recipes and ingredients. Unfortunately he is not good in maths. Can you help him to find out, how many cakes he could bake considering his recipes?

Write a function cakes(), which takes the recipe (object) and the available ingredients (also an object) and returns the maximum number of cakes Pete can bake (integer). For simplicity there are no units for the amounts (e.g. 1 lb of flour or 200 g of sugar are simply 1 or 200). Ingredients that are not present in the objects, can be considered as 0.

# must return 2
cakes({flour: 500, sugar: 200, eggs: 1}, {flour: 1200, sugar: 1200, eggs: 5, milk: 200})
# must return 0
cakes({apples: 3, flour: 300, sugar: 150, milk: 100, oil: 100}, {sugar: 500, flour: 2000, milk: 2000})
Enter fullscreen mode Exit fullscreen mode

My Solutions

Python

from typing import List

def cakes(recipe: List[str], available: List[str]) -> int:
    try:
        return int(min([available[x] / recipe[x] for x in recipe]))
    except:
        return 0
Enter fullscreen mode Exit fullscreen mode

JavaScript

const cakes = (recipe, available) => {
  var availableIngredients = []
  for(var key in recipe) {
    if (available[key] != undefined && available[key] / recipe[key] >= 1 ) {
      availableIngredients.push(available[key] / recipe[key])
    } else {
      return 0
    }
  }

  return ~~Math.min.apply(null, availableIngredients)
}
Enter fullscreen mode Exit fullscreen mode

Postmark Image

Speedy emails, satisfied customers

Are delayed transactional emails costing you user satisfaction? Postmark delivers your emails almost instantly, keeping your customers happy and connected.

Sign up

Top comments (0)

AWS Security LIVE!

Tune in for AWS Security LIVE!

Join AWS Security LIVE! for expert insights and actionable tips to protect your organization and keep security teams prepared.

Learn More

👋 Kindness is contagious

Engage with a sea of insights in this enlightening article, highly esteemed within the encouraging DEV Community. Programmers of every skill level are invited to participate and enrich our shared knowledge.

A simple "thank you" can uplift someone's spirits. Express your appreciation in the comments section!

On DEV, sharing knowledge smooths our journey and strengthens our community bonds. Found this useful? A brief thank you to the author can mean a lot.

Okay