Cerita
Saya perlu mengingat banyak kata sandi dan tidak ingin menggunakan kata sandi yang sama untuk beberapa situs web, jadi saya membuat aturan, tetapi aturannya seharusnya tidak transparan sehingga yang saya lakukan adalah:
- Pikirkan kata atau konsep yang panjang seperti
breadpudding. - Ganti huruf pertama dengan situs tempat kita masuk. Jika kita masuk
google, kata kita menjadigreadpudding. - Buat huruf besar pertama.
- Ubah huruf kedua menjadi sebuah
@tanda. - Jika kata sandi dimulai dengan non-konsonan, tambahkan nomor tertentu (seperti
1234); jika tidak, tambahkan nomor lain (seperti4321).
Ta da, Anda sekarang memiliki kata sandi yang memadai.
Proses ini sulit, jadi saya perlu program untuk menghasilkan ini untuk saya berdasarkan hal berikut:
Masalah
Masukan yang diberikan:
a: kata awal, yang merupakan string dan selalu huruf kecil, dan dijamin lebih dari 3 karakter.b: situs tempat kami masuk, yang merupakan string dan selalu huruf kecil, dan dijamin tidak kosong.c: angka untuk non-konsonan, yang merupakan bilangan bulat positif yang mungkin memiliki nol terkemuka.d: angka untuk konsonan, yang merupakan bilangan bulat positif yang mungkin memiliki nol terkemuka.
Keluarkan string berdasarkan kriteria di atas.
Uji kasus
Memasukkan a="volvo", b="gmail", c=5555, d="0001"
G@lvo0001
Memasukkan a="sherlock", b="9gag", c=31415926535, d=3
9@erlock31415926535
Memasukkan a="flourishing", b="+google", c=11111, d=2222
+@ourishing11111
Aturan
yadalah konsonan.- Jika Anda memutuskan
cataudbilangan bulat, Anda dapat menguraikannya seperti itu, dan angka nol di depannya dapat diabaikan (0091diperlakukan sebagai91) - Ruang putih dan baris baru yang tertinggal diizinkan.
- Anda dapat menampilkan hasilnya ke STDOUT atau mengembalikan hasilnya dalam suatu fungsi.
- Karakter diizinkan masuk
adanbsedang[a-z0-9!@#$%^&*()_+=-]. - Anda dapat menerima 4 input dalam urutan yang konsisten.
Ini adalah kode-golf . Kode terpendek dalam byte menang.