pengantar
Tantangan ini terdiri dari menemukan angka terbesar yang menghilangkan digit y dari angka asli n yang memiliki x digit.
Dengan asumsi y=2 n=5263 x=4
, angka yang mungkin dihapus y = 2 digit adalah:
[52, 56, 53, 26, 23, 63]
Jadi, jumlah terbesar adalah 63
yang harus menjadi output untuk contoh ini.
Logika lainnya adalah: untuk setiap y, cari dari kiri ke kanan digit yang mana digit kanan berikutnya lebih besar, lalu hapus, jika tidak ada kecocokan, hapus y-digit terakhir .
Menggunakan y=3 n=76751432 x=8
untuk menjelaskan:
y=3
76751432
-^------ remove 6 because right next 7 is greater
y=2
7751432
---^--- remove 1 because right next 4 is greater
y=1
775432
-----^ the search failed, then remove last y digits
result = 77543
Kedua metode yang dijelaskan di atas berfungsi .. tentu saja, Anda dapat menggunakan metode lain juga :)
Tantangan
Angka n tidak akan memiliki lebih dari 8 digit, dan y akan selalu lebih besar dari nol dan lebih rendah dari x .
Untuk menghindari format input yang ketat, Anda dapat menggunakan nilai-nilai: y n x
cara yang Anda inginkan: sebagai parameter dalam fungsi, input mentah, atau cara valid lainnya. Hanya saja, jangan lupa mengatakan bagaimana Anda melakukannya dalam jawaban Anda.
Keluaran harus berupa nomor hasil.
Ini adalah kode-golf , jawaban terpendek dalam byte menang.
Contoh Input dan Output
Sekali lagi: Anda tidak perlu terlalu ketat :)
4 1789823 7 -> 983
1 54132 5 -> 5432
3 69314 5 -> 94
2 51794 5 -> 794
Edit
Saya mengubah urutan input untuk mencerminkan fakta bahwa beberapa dari Anda mungkin tidak memerlukan nilai x untuk menyelesaikan masalah. x sekarang menjadi nilai opsional.
x
adalah jenis informasi yang tidak berguna.
x
sebagai input dapat mempersingkat kode. (Contoh kasus: jawaban Julia saya.)