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.

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

xxx xxxxxxxxx xxxxxxx xxxxx xxxx xxxxx x xxxxxxxx xxxxxx xxxx xxxxx xxx xxxx xxx xxx xxx xxx xxxx xxxxxxxxx xx xxxx xx xxxxx. xxxxxx x xxxxx xx xxxxxx x xxxxx; xxxxxxxxxx xxxx xx xxxxxxxxxx x xxxx.

xxxxxxxxx xxx xxxxxx, xxx xxxxxxx, xxx xxxxx.

  • 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.