The Timing Decorator
A medium Python interview practice problem on DataDriven. Write and execute real python code with instant grading.
- Domain
- Python
- Difficulty
- medium
- Seniority
- L4
Problem
Implement `apply_timer_decorator(func_calls)`. Inside it, define a `@timer` decorator that wraps any function: it records `time.time()` before and after the call, prints the elapsed time, and returns whatever the wrapped function returns. The decorator must forward arbitrary `*args` and `**kwargs`. `func_calls` is a list of `[name, args, kwargs]` triples, where `name` selects a built-in callable ("add", "sub", "mul", "concat", "noop"), `args` is a list of positional arguments, and `kwargs` is a dict of keyword arguments. For each triple, apply your timer decorator to the named callable and invoke it with the given arguments. Return a list of `True` (one per successful call), in input order. An empty `func_calls` returns an empty list.
Summary
Wrap any function to capture how long it takes.
Practice This Problem
Solve this Python problem with real code execution. DataDriven runs your Python code in a real environment and grades it automatically.