Safe Code Safe Code
English JA RU
Your hunch was right, in addition to the usual room stuff, such as a bookcase, wardrobe, desk and a bed, there also was a quite sizeable vault. Your mood immediately improved - this trip very quickly became profitable (unless, of course, the vault wasn’t empty).

A small sheet of thick paper laid on the table next to the vault. There were some kind of formulas with wiped out figures written on it. It’s likely that a long time ago these notes were quite easy to read, but the decades spent in the castle negatively affected the readability of some figures. By figuring out what figures were originally written, you’ll be able to find the correct combination for opening of the vault.

Your task is to create a function that as input receives an equation in a form of a string with digits, erased places ('#') and one of the three arithmetic operations (+, - or *), for example - "##*##=302#". As a result, your function should return a digit (from the interval 0-9), which when applied instead of all #, made the equation correct. Or -1 (minus one) if this isn’t possible.

Important note - none of the figures that already are in the equation can be in place of #. Also, if after the equal sign (=) there are 2 or more missing symbols, the answer cannot consist of zeros (00, 000, etc.).
Numbers in the format like #n, #nn and so on, where n - any digit, can't start with 0. For example, "#9+3=12" == -1.
In case there are several suitable digits - use the smallest of them. The numbers in the formula can be both positive (for example, "1+1=#") and negative, with the "-" sign before them ("19--45=5#", "-1*-6=#").

Input: Cypher.

Output: Digit of the safe code.


safe_code("-5#*-1=5#") == 0
safe_code("##*##=302#") == 5
safe_code("19--45=5#") == -1
safe_code("#9+3=12") == -1

How it is used: In the cryptography for the important information protection.

Precondition :
answer - [0-9] or -1

CheckiO Extensions

CheckiO Extensions allow you to use local files to solve missions. More info in a blog post.

In order to install CheckiO client you'll need installed Python (version at least 3.8)

Install CheckiO Client first:

pip3 install checkio_client

Configure your tool

checkio --domain=py config --key=

Sync solutions into your local folder

checkio sync

(in beta testing) Launch local server so your browser can use it and sync solution between local file end extension on the fly. (doesn't work for safari)

checkio serv -d

Alternatevly, you can install Chrome extension or FF addon

checkio install-plugin
checkio install-plugin --ff
checkio install-plugin --chromium

Read more here about other functionality that the checkio client provides. Feel free to submit an issue in case of any difficulties.

<< <
> >>

Whats Next?

Free accounts will see Best CheckiO solutions with some delay.
Best Solutions will be opened in
Become Awesome and Don't wait
The next stage is ""
Will be activated in
View More Solutions Random Review Solutions Share your own solution
Go to the next mission Back to the list of missions Back to the map