The Secret Room The Secret Room
RU English JA
Here you are in the castle. Despite the fact that it’s already about 200 years old, it doesn’t look like an ancient ruin at all. In the great hall (of a very odd geometrical form) you’re seeing the following: - a beautiful spiral staircase leading to the 2nd floor; - an equally attractive staircase that leads into the dungeon; - a lot of doors of a wide variety of different shapes, colors and designs. Having decided to explore the doors on this floor first, you’ve assumed that the most interesting things should be in the very last room. However, finding it won’t be as easy as it seems.

Before going on this trip, you’ve gathered some information about the Lord Escher's quirks. One of them was a very unusual numbering of doors - he numbered them according to how the numbers go in the alphabetical order. For example, if there were five doors positioned from left to right, they were numbered as: five, four, one, three, two (instead of a completely logical numeration - 1, 2, 3, 4, 5). Thus, the very last door was actually the leftmost, not the very right one, as it might be assumed. Your task is to find the very last door.

As input your function will receive an integer - the total number of doors in the current room. You will need to sort the door numbers in the order in which these numbers, expressed in words, go in the alphabetical order. And then return the position number of the last door (the door with the highest number). The count starts from the 1st position (not from the 0th). The maximum number of doors is 1000. The numbers after 100 are written in the format like - 'one hundred twenty nine'.

Input: the door number.

Output: the 'right' door number.


secret_room(5) == 1, #five, four, one, three, two
secret_room(3) == 2, #one, three, two
secret_room(1000) == 551

How it is used: For the work with numbers in their alphabetical representation.

Precondition :
2 <= amount of the doors <= 1000

Become Awesome

  • No Ads
  • No Limits
  • More Content
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.

<< <
> >>
exec show

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 Go to the next mission