Saya perhatikan permainan tertentu memiliki penghitung kehidupan yang aneh, yang bukannya berhenti 999
, memperoleh angka baru - angka berikutnya adalah mahkota seratus atau 👑00
. Setelah itu 👑99
datang mahkota ratus mahkota ( 👑👑0
) dan angka terakhir, setelahnya 👑👑9
, adalah mahkota seratus mahkota atau 👑👑👑
, yang akan menjadi 1110 dalam desimal.
Tugas Anda adalah menulis program atau fungsi yang menghasilkan penghitung ini.
Diberikan bilangan bulat dari rentang [0,1110]
(inklusif pada kedua ujungnya), menghasilkan string karakter tiga di mana
- setiap karakter dari daftar
0123456789👑
- mahkota (👑) hanya dapat muncul sebagai karakter paling kiri atau ketika ada mahkota di sebelah kiri itu
- ketika angka ini dibaca sebagai angka desimal tetapi dengan mahkota yang menghitung
10
, Anda mendapatkan kembali nomor aslinya
Uji kasus
0 → "000"
15 → "015"
179 → "179"
999 → "999"
1000 → "👑00"
1097 → "👑97"
1100 → "👑👑0"
1108 → "👑👑8"
1110 → "👑👑👑"
Anda dapat menggunakan karakter non-desimal alih-alih mahkota. Untuk mendorong pencetakan yang cantik, karakter mahkota (urutan byte UTF8 "\ 240 \ 159 \ 145 \ 145") dihitung sebagai satu byte alih-alih empat. Program Anda tidak harus bekerja untuk angka di luar rentang yang valid.
Ini adalah kode-golf , jadi jawaban tersingkat, diukur dalam byte, menang!