Coding
OOP Design

Stack Risk Checks as Decorators

Premium
Difficulty

Asked at Citadel Securities

Theory: Order Books and Matching

Read the problem, hints and solution here. The editor needs a bigger screen: open this page on a laptop to write and run your code.

xxxxxxxxx x xxxxx xx xxx-xxxxx xxxx xxxxxx xx xxxxxxxxxx: xxx xxxxxxx, xxxx xxxxx, xxx xxxxx, xxxxx xxxxxxxxx xxxx. xxxx xxxxx xxxxx xxx xxxx xxxxxxx xxx xxx xxx xxxx xxxxxxxxx xx xxxx xx xxxxx.

xxx-xxxxx xxxx xx x xxxx xx xxxxxxxxxx xxxx xxxx xxx xxxx xxxxxx xx xxxxx xxxxxxx xxx xxxxx, xxx xxx xxxx xxxxxxx: x xxx xxxxx xx xxxxx, x xxxx xxxx xx xxxxxxxxx, x xxxxx xx xxxxxxxx xxx x xxx-xxxxxx xxxxx. xxxx xxx xxxxxx xxx xxxxx, xxxxxx x xxxxx xx xxxxxx x xxxxx, xxx xxxxxxxxxx xxxxxx xx xxxxxxxxxx x xxxx.

xxx xxxxxx xxx:

  • xxxxxxx: xxx xxxxxxxxx xxxxxxx. xxxxxxx xxx xxxxx xxx xxxxxxx (xxxx, 'xxxx').
  • xxxxxxx(xxxxx, xxxxx): xxxxxxx xxx > xxxxx, xxxxxx 'xxx-xxxx'.
  • xxxxxxxxx(xxxxx, xxx, xxxx): xxxxxxx x xxxxx xxxxxxx xxx xxxx, xxxxxx 'xxxxx-xxxx'.
  • xxxxxxxxx(xxxxx, xxxxxxxxx): xxxxxxx xxxx xxxx xxxx xxxxxxxxx xxxxxx xxxx xxx xxxx xx. xxx "xxxxxxx xx": xx xxxxx xxxx xxxxx xxxx xxxxxxx xxxxxxxx xxxxxxxxx xxxxxxx xx xxx xxxxxxxxx xxxxxxx xx xxxxxxx xx.
  • xxxxxxxxxxx(xxxxx, xxx): xxxxxxx xxxx xxx xxxxxxxxxxx xxx * xxxxx xxxxx xxxxxx xxx xxx. xxx xxxxxxxxx xxxxx xx xxxxxxxx xxx xxxx xxx xxxxx.
  • xxxxx(xxxxxxx, xxxxxx): xxxx xx xxx xxxxx xxxxx xx xxxxxx xxxx xxxxx. xxxx xxxxx xx x xxxxxxxx xxxxxx xxx xxxxx xxxxxxx xxx xxxxxxxxx xxx xxxxxxx.

xxxxx xxxxxxx xxxxxxx (xxxxxxxx, xxxxxx).

xxxxxxxx

xxx xxxx xxx xxxxxx, xxxxxxx xxx xxxx, xxxx xxx xxxx xxxxx xxxxxx. xxxx xxxxx xx xxxxxx xx x xxxxxxx xxxx xxxxx xxx xxxxx xxxxxxx xxx xxxxxxx xxx xxxxxxx, xxx xxxxx xxxxxxx xxx xxxxxxxxx xxxxxxx:

xxxxxx = [{'xxx': xxx, 'xxxxx': xxx},
          {'xxx': xx, 'xxxxx': xxx},
          {'xxx': xx, 'xxxxx': xxx}]

x = xxxxx(xxxxxxx(), [xxxxxx xxxxx: xxxxxxxxx(xxxxx, x),
                      xxxxxx xxxxx: xxxxxxx(xxxxx, xxx)])   # xxxx xxxxx xxxxxxxxx
[x.xxxxxx(xxxxx) xxx xxxxx xx xxxxxx]
# [(xxxxx, 'xxx-xxxx'), (xxxx, 'xxxx'), (xxxxx, 'xxxx-xxxxx')]   x xxxx

x = xxxxx(xxxxxxx(), [xxxxxx xxxxx: xxxxxxx(xxxxx, xxx),
                      xxxxxx xxxxx: xxxxxxxxx(xxxxx, x)])   # xxxx xxxxx xxxxxxxxx
[x.xxxxxx(xxxxx) xxx xxxxx xx xxxxxx]
# [(xxxxx, 'xxx-xxxx'), (xxxx, 'xxxx'), (xxxx, 'xxxx')]          x xxxx

xxx xxxxxxxxx xxxxx xxxxx xxxx-xxxxx xxxxxxxxx xx xxx xxxxx xxxxx xxx xxx xx xxx xxxxxx. xxxxx xx xxxxx xxx xxxx xx x xxxx xxxx xxxxxxxx, xxx xxx xxxxx xxxxx xx xxx xxxxxxxxx xx xxxx xx xx x xxx-xxxx xxxxxx xxxxxx xxxx x xxxxxxx.

xxxxxxxxxxx

  • xxxxx xxxxx xxxx xxxx xxx xxxx xxxxxxxxx xx xxx xxxxx xx xxxxx. xxxxxxx xx xxx xxxxx xxxxx xxx xxxx xx xx, xx xxxxxxx xxxx xx xx xxxxxxx xx xxxxxxx xxxxx xx xxx xxxxx.
  • xxxxx(xxxxxxx, []) xx xxx xxxxxxx.
  • x xxxxxxxxx xxxxx xxxxx. xxx xxxxx xxxxxxxx xxx xxx xxxxxx, xxxxx xx xxxx xxxxx xxx xxxxxxxx xxxxxx xxxxxx xx xxxxx xxxxxxxx.

This problem is only available to subscribers.

Language: Python 3.12build

Unlock the problem to run it against the tests.