XKCDอีกแรงบันดาลใจจากการแข่งขัน หนึ่งนี้จะขึ้นอยู่กับแป้นพิมพ์ Mash
ได้รับสายป้อนระบุตัวอักษรที่ผิดปกติสมมติว่าส่วนใหญ่ได้รับการพิมพ์บนแถวเดียวของมาตรฐาน QWERTY แป้นพิมพ์ของสหรัฐอเมริกา สตริงอินพุตสามารถมีการกดแป้น Shifted แต่พวกเขาจะไม่ประกอบด้วยผลตอบแทนการขนส่ง (Enter), CTRL / ALT ตัวละครที่ได้รับผลกระทบช่องว่างแท็บและ backspaces (เพราะมันจะโง่) แป้นตัวเลขจะไม่ถือว่าเป็นส่วนหนึ่งของแป้นพิมพ์สำหรับความท้าทายนี้
ความท้าทายคือการส่งออกอักขระที่ไม่ได้อยู่ในแถวแป้นพิมพ์เดียวกันกับอักขระส่วนใหญ่ในสตริงเดียว เอาต์พุตควรมีอักขระผิดปกติแต่ละตัวเพียงครั้งเดียวและไม่มีอักขระอื่น
ในกรณีที่มีการนับที่เท่ากันของอักขระที่ผิดปกติทั่วทั้งสองแถวขึ้นไปการแบ่งไทเบรกจะถูกกำหนดตามลำดับนี้:
- รายการที่ไม่ซ้ำกันสั้นที่สุด
- แถวบนสุด
อินพุต
สตริงผ่านทั้ง STDIN, ARGV หรือพารามิเตอร์ฟังก์ชัน
เอาท์พุต
สตริงถึง STDOUT หรือฟังก์ชันส่งคืน ควรมีอักขระผิดปกติแต่ละตัวเพียงครั้งเดียว แต่ไม่จำเป็นต้องสั่งซื้อ
ตัวอย่าง
อินพุต: FJAFJKLDSKF7KFDJ
เอาต์พุต: 7อินพุต: ASDF11111
เอาต์พุต: ASDFอินพุต: lkjrhsDdftkjhrksRjd
เอาต์พุต: rtRอินพุต: } * 3% & 2098 @ $ 2k234 # @ $ M
เอาต์พุต: }รายการแถวบนสุดที่ส่งคืน
อินพุต: ASD! @ # Vcx
เอาต์พุต: ! @ #ส่งคืนรายการที่ไม่ซ้ำกันสั้นที่สุด
อินพุต: ASdf1233qwER
เอาต์พุต: 123ส่งคืนรายการที่สั้นที่สุดสูงสุด
อินพุต: 12334QWTTSDFDSXVVBBX
เอาต์พุต: QWT
นี่คือรหัสกอล์ฟดังนั้นรายการที่สั้นที่สุดจึงชนะ