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

Sentry blog image

How I fixed 20 seconds of lag for every user in just 20 minutes.

Our AI agent was running 10-20 seconds slower than it should, impacting both our own developers and our early adopters. See how I used Sentry Profiling to fix it in record time.

Read more

Top comments (0)

Billboard image

The Next Generation Developer Platform

Coherence is the first Platform-as-a-Service you can control. Unlike "black-box" platforms that are opinionated about the infra you can deploy, Coherence is powered by CNC, the open-source IaC framework, which offers limitless customization.

Learn more

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay