Thử thách:
Đầu vào:
- Một chuỗi chứa ASCII có thể in (không bao gồm dấu cách, tab và dòng mới)
- Một boolean †
Đầu ra:
Các phần của Chuỗi được chia thành bốn nhóm:
- Chữ viết thường
- Chữ viết hoa
- Chữ số
- Khác
Dựa trên boolean, chúng tôi hoặc xuất ra sự xuất hiện cao nhất của một (hoặc nhiều) trong bốn nhóm này hoặc thấp nhất, thay thế mọi thứ khác bằng khoảng trắng.
Ví dụ:
Đầu vào: "Just_A_Test!"
Nó chứa:
- 3 chữ cái viết hoa: JAT
- 6 chữ cái viết thường: ustest
- 0 chữ số
- 3 chữ cái khác:__!
Đây sẽ là đầu ra cho true
hoặc false
:
true: " ust est "
// digits have the lowest occurrence (none), so everything is replaced with a space
false: " "
(Lưu ý: Bạn được phép bỏ qua dấu cách, do đó, kết quả đầu ra cũng có thể " ust est"
và ""
tương ứng.)
Quy tắc thử thách:
- Đầu vào sẽ không bao giờ trống hoặc chứa khoảng trắng và sẽ chỉ bao gồm ASCII có thể in trong phạm vi
33-126
hoặc'!'
thông qua'~'
. - Bạn được phép lấy đầu vào và / hoặc đầu ra dưới dạng mảng ký tự hoặc danh sách nếu bạn muốn.
- † Bất kỳ hai giá trị nhất quán và riêng biệt cho boolean đều được phép:
true
/false
;1
/0
;'H'
/'L'
;"highest"
/"lowest"
; v.v ... Lưu ý rằng những giá trị riêng biệt này nên được sử dụng (phần nào) như là một boolean! Vì vậy, không được phép nhập hai chương trình hoàn chỉnh, một chương trình cho kết quả chính xáctrue
và chương trình kiafalse
và sau đó chỉ có mã thực tế của bạn<run input with parameter>
. Lỗ hổng mặc định mới có liên quan mà tôi đã thêm, mặc dù nó vẫn có thể sử dụng rất nhiều cách xử lý liên quan đến các định nghĩa .. - Nếu sự xuất hiện của hai hoặc nhiều nhóm là như nhau, chúng tôi xuất ra tất cả những lần xuất hiện đó.
- Các không gian dấu cần thiết là tùy chọn và một dòng mới duy nhất cũng là tùy chọn. Không gian hàng đầu cần thiết là bắt buộc. Và bất kỳ không gian hàng đầu hoặc dòng mới nào khác đều không được phép.
Quy tắc chung:
- Đây là môn đánh gôn , vì vậy câu trả lời ngắn nhất bằng byte thắng.
Đừng để ngôn ngữ mã-golf ngăn cản bạn đăng câu trả lời với các ngôn ngữ không mã hóa. Cố gắng đưa ra một câu trả lời càng ngắn càng tốt cho ngôn ngữ lập trình 'bất kỳ'. - Các quy tắc chuẩn áp dụng cho câu trả lời của bạn, vì vậy bạn được phép sử dụng STDIN / STDOUT, các hàm / phương thức với các tham số thích hợp, các chương trình đầy đủ. Cuộc gọi của bạn.
- Lỗ hổng mặc định bị cấm.
- Nếu có thể, vui lòng thêm một liên kết với một bài kiểm tra cho mã của bạn.
- Ngoài ra, xin vui lòng thêm một lời giải thích nếu cần thiết.
Các trường hợp thử nghiệm:
Inputs: Output:
"Just_A_Test!", true " ust est " (or " ust est")
"Just_A_Test!", false " " (or "")
"Aa1!Bb2@Cc3#Dd4$", either "Aa1!Bb2@Cc3#Dd4$"
"H@$h!n9_!$_fun?", true " @$ ! _!$_ ?"
"H@$h!n9_!$_fun?", false "H 9 " (or "H 9")
"A", true "A"
"A", false " " (or "")
"H.ngm.n", true " ngm n"
"H.ngm.n", false " " (or "")
"H.ngm4n", false "H. 4 " (or "H. 4")
H
và 9
là một phần của "ít nhất".
"max"
/ "min"
, sau đó được sử dụng Math[b]
để tham chiếu Math.max
hay Math.min
không?
b?"max":"min"
trong câu trả lời của bạn .. Đó là một ranh giới mong manh Tôi đoán, có lẽ tôi chỉ nên sử dụng một truthy / giá trị falsey lần sau ..
"H "
và" 9 "
(với các khoảng trắng thích hợp) được xuất ra thay vì"H 9"
?