Konsep
Mengingat angka bisa sulit. Mengingat kata mungkin lebih mudah. Untuk menghafal angka besar, saya menciptakan cara untuk mengucapkannya dengan cara seperti leetspeak.
Aturan
Setiap digit pertama diganti dengan huruf yang sesuai:
0 => O
1 => I
2 => R
3 => E
4 => A
5 => S
6 => G
7 => T
8 => B
9 => P
Setelah penggantian, dua hal tambahan dilakukan untuk meningkatkan pengucapan:
Di antara dua konsonan, a
Uditambahkan.Di antara dua vokal, a
Nditambahkan.
Contoh / uji kasus
512431 => SIRANENI
834677081 => BENAGUTUTOBI
3141592 => ENINANISUPUR
1234567890 => IRENASUGUTUBUPO
6164817 => GIGABIT
Apa yang tidak mungkin
- Huruf dan angka dicampur dalam kata yang sama
- Dua konsonan berturut-turut atau dua vokal berturut-turut
- Surat yang tidak ada dalam daftar di atas
- Karakter lainnya
Aturan
Tujuan golf kode ini adalah untuk menciptakan penerjemah 2 arah untuk konsep ini.
- Program Anda pertama-tama harus mengerti dengan sendirinya jika itu terjemahan dari huruf ke angka atau angka ke huruf.
- Itu harus memeriksa entri yang akan dibentuk dengan benar.
- Jika semuanya benar, tampilkan terjemahannya.
- Lain, tampilkan pesan kesalahan, tidak ada, mengembalikan nilai falsey atau crash program
Detail
- Nomor input / string dapat dimasukkan dalam format apa pun yang Anda inginkan (stdin, argumen, ...)
- Ini kode-golf , jadi jawaban tersingkat menang.
- Celah standar dilarang.
AB23; AEI; BB; Z; ACE; giga; !@#$; -123; dll. Juga, berdasarkan aturan validasi, kita dapat mengkonversi 6164735732 => GIGATESTER, tetapi GIGATESTERakan menghasilkan nilai yang salah, karena ST(dua aturan konsonan berturut-turut). Cara tantangan Anda saat ini disiapkan, bagian utama dari tantangan adalah validasi, alih-alih konversi. Saya setuju dengan itu, tetapi validasi harus didefinisikan sedikit lebih baik dalam kasus itu.
GIGATESTERseharusnyaGIGATESUTER?