Skip to main content
2 of 3
deleted 6 characters in body
SteeveDroz
  • 2.5k
  • 2
  • 17
  • 19

Pronounce numbers

Concept

Remembering numbers can be difficult. Remembering a word may be easier. In order to memorize big numbers, I created a way to pronounce them in a leetspeak-like way.

Rules

Each digit is first replaced by its corresponding letter:

0 => O
1 => I
2 => R
3 => E
4 => A
5 => S
6 => G
7 => T
8 => B
9 => P

After the replacement, two additionnal things are done to improved pronounciation:

  • Between two consonants, a U is added.

  • Between two vowels, a N is added.

Examples/test cases

512431 => SIRANENI
834677081 => BENAGUTUTOBI
3141592 => ENINANISUPUR
1234567890 => IRENASUGUTUBUPO
6164817 => GIGABIT

What's impossible

  • Letters and numbers mixed in the same word
  • Two successive consonants or two successive vowels
  • Letters that are not in the list above
  • Other characters

Rules

The goal of this is to create a 2-way translator for this concept.

  • Your program must first undersand by itself if it's letter-to-number or number-to-letter translation.
  • It must check for the entry to be properly formed.
  • If everything is correct, display the translation.
  • Else, display an error message, nothing, return a falsey value or crash the program.

Details

  • The input number/string can be entered in whatever format you want (stdin, argument, ...)
  • This is , so shortest answer wins.
  • Standard loopholes are forbidden.
SteeveDroz
  • 2.5k
  • 2
  • 17
  • 19