ท้าทาย:
ปัจจัยการผลิต:
- สตริงที่มี ASCII ที่พิมพ์ได้ (ไม่รวมช่องว่างแท็บและบรรทัดใหม่)
- บูลีน†
เอาท์พุท:
ส่วนของสตริงจะแบ่งออกเป็นสี่กลุ่ม:
- อักษรตัวพิมพ์เล็ก
- ตัวอักษรตัวพิมพ์ใหญ่
- ตัวเลข
- อื่น ๆ
ขึ้นอยู่กับบูลีนเราจะแสดงเหตุการณ์ที่เกิดขึ้นสูงสุดหนึ่งกลุ่ม (หรือหลายกลุ่ม) ของกลุ่มสี่กลุ่มนี้หรือกลุ่มต่ำสุดแทนที่กลุ่มอื่นด้วยช่องว่าง
ตัวอย่างเช่น:
ข้อมูลเข้า: "Just_A_Test!"
ประกอบด้วย:
- 3 ตัวอักษรตัวพิมพ์ใหญ่: JAT
- 6 ตัวอักษรตัวพิมพ์เล็ก: ustest
- 0 หลัก
- 3 อื่น ๆ :__!
เหล่านี้จะเป็นผลลัพธ์สำหรับtrueหรือfalse:
true: " ust est "
// digits have the lowest occurrence (none), so everything is replaced with a space
false: " "
(หมายเหตุ: คุณได้รับอนุญาตให้ละเว้นช่องว่างต่อท้ายดังนั้นเอาต์พุตสามารถเป็นได้" ust est"และ""ตามลำดับ)
กฏท้าทาย:
- อินพุตจะไม่ว่างเปล่าหรือมีช่องว่างและจะประกอบด้วย ASCII ที่พิมพ์ได้ในช่วง
33-126หรือ'!'ผ่าน'~'เท่านั้น - คุณได้รับอนุญาตให้รับอินพุตและ / หรือเอาท์พุทเป็นอักขระอาเรย์หรือรายการหากคุณต้องการ
- †อนุญาตให้ใช้ค่าบูลีนที่สอดคล้องกันและแตกต่างกันสองค่า:
true/false;1/0;'H'/'L';"highest"/"lowest"; ฯลฯ โปรดทราบว่าค่าที่แตกต่างเหล่านี้ควรใช้ (บ้าง) เป็นบูลีน! จึงไม่ได้รับอนุญาตให้ใส่สองโปรแกรมที่สมบูรณ์หนึ่งที่ช่วยให้ผลที่ถูกต้องสำหรับการtrueและอื่น ๆ สำหรับและจากนั้นมีรหัสที่แท้จริงของคุณจะเป็นแค่falseช่องโหว่เริ่มต้นใหม่ที่เกี่ยวข้องที่ฉันได้เพิ่มแม้ว่าจะยังคงสามารถใช้ finetuning จำนวนมากเกี่ยวกับคำจำกัดความ ..<run input with parameter> - หากการเกิดขึ้นของสองกลุ่มหรือมากกว่านั้นเหมือนกันเราจะเอาท์พุทที่เกิดขึ้นทั้งหมด
- ช่องว่างต่อท้ายที่จำเป็นเป็นตัวเลือกและบรรทัดใหม่ต่อท้ายเป็นทางเลือกเช่นกัน จำเป็นต้องมีการเว้นวรรคนำหน้า และไม่อนุญาตให้เว้นวรรคนำหน้าหรือบรรทัดใหม่ใด ๆ
กฎทั่วไป:
- นี่คือcode-golfดังนั้นคำตอบที่สั้นที่สุดในหน่วยไบต์ชนะ
อย่าปล่อยให้ภาษารหัสกอล์ฟกีดกันคุณจากการโพสต์คำตอบด้วยภาษาที่ไม่ได้เข้ารหัส พยายามหาคำตอบสั้น ๆ ที่เป็นไปได้สำหรับภาษาโปรแกรม 'ใด ๆ ' - กฎมาตรฐานจะใช้สำหรับคำตอบของคุณดังนั้นคุณจึงได้รับอนุญาตให้ใช้ STDIN / STDOUT ฟังก์ชัน / เมธอดพร้อมพารามิเตอร์ที่เหมาะสมโปรแกรมเต็มรูปแบบ การโทรของคุณ
- ช่องโหว่เริ่มต้นเป็นสิ่งต้องห้าม
- หากเป็นไปได้โปรดเพิ่มลิงค์พร้อมทดสอบรหัสของคุณ
- นอกจากนี้โปรดเพิ่มคำอธิบายหากจำเป็น
กรณีทดสอบ:
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และ9เป็นส่วนหนึ่งของ "น้อยที่สุด"
"max"/ "min"ซึ่งถูกใช้Math[b]เพื่ออ้างถึงMath.maxหรือMath.min?
b?"max":"min"คำตอบของคุณไว้ให้ดี.. ฉันเดาว่าบางทีฉันควรใช้ความจริง / ความเท็จตามตัวอักษรในครั้งต่อไป ..
"H "และ" 9 "(พร้อมช่องว่างที่เหมาะสม) แทนได้"H 9"หรือไม่