Giới thiệu
Thử thách này bao gồm việc tìm ra số lớn nhất loại bỏ các chữ số y khỏi số n ban đầu có x chữ số.
Giả sử y=2 n=5263 x=4
, các số có thể loại bỏ y = 2 chữ số là:
[52, 56, 53, 26, 23, 63]
Vì vậy, số lượng lớn nhất 63
phải là đầu ra cho ví dụ này.
Một logic khác sẽ là: đối với mỗi y, tìm kiếm từ trái sang phải chữ số mà chữ số tiếp theo bên phải lớn hơn, sau đó loại bỏ nó, khác khi không khớp, xóa các chữ số y cuối cùng .
Sử dụng y=3 n=76751432 x=8
để giải thích:
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
Cả hai phương pháp được giải thích ở trên đều hoạt động .. tất nhiên, bạn cũng có thể sử dụng một phương pháp khác :)
Thử thách
Số n sẽ không có nhiều hơn 8 chữ số và y sẽ luôn lớn hơn 0 và thấp hơn x .
Để tránh định dạng đầu vào nghiêm ngặt, bạn có thể sử dụng các giá trị: y n x
cách bạn thích: làm tham số trong hàm, đầu vào thô hoặc bất kỳ cách hợp lệ nào khác. Đừng quên nói bạn đã làm thế nào trong câu trả lời của bạn.
Đầu ra phải là số kết quả.
Đây là code-golf , câu trả lời ngắn nhất trong byte thắng.
Ví dụ đầu vào và đầu ra
Một lần nữa: bạn không cần quá nghiêm ngặt :)
4 1789823 7 -> 983
1 54132 5 -> 5432
3 69314 5 -> 94
2 51794 5 -> 794
Chỉnh sửa
Tôi đã thay đổi thứ tự đầu vào để phản ánh thực tế rằng một số bạn có thể không cần giá trị x để giải quyết vấn đề. x bây giờ là một giá trị tùy chọn.
x
là một loại thông tin vô dụng.
x
đầu vào có thể rút ngắn mã. (Trường hợp cụ thể: câu trả lời Julia của tôi.)