แรงบันดาลใจจากห่วงโซ่ความคิดเห็นนี้ ...
ฉันต้องการ
enklact
ออกจากความท้าทายนี้ แต่ฉันไม่สามารถ ...@ETHproductions เพื่อ enklact (v): เพื่อใช้ตารางการค้นหาโดยใช้ส่วนย่อยที่ประกอบด้วยองค์ประกอบที่ไม่ซ้ำกัน
Enklacting เป็นวิธีที่มีประโยชน์มากในการบีบอัดตารางการค้นหา ตัวอย่างเช่นสมมติว่าคุณมีรายการสีดังต่อไปนี้:
red
green
blue
yellow
purple
orange
หากคุณต้องการให้สีเป็นอินพุตและส่งคืนดัชนีในรายการนี้มีวิธีที่ตรงไปตรงมา:
["red", "green", "blue", "yellow", "purple", "orange"].index(input())
แต่มีวิธีที่เราสามารถทำได้ในทางที่น้อยกว่าไบต์:
"rgbypo".index(input()[0])
สิ่งนี้ได้ผลเพราะดัชนีแรก (หรือ 0'th) ของแต่ละสตริงนั้นไม่ซ้ำกัน ตัวอย่างนี้ชัดเจน แต่บางครั้งก็ยากขึ้นเล็กน้อย ถ้าเราต้องการสร้างตารางการค้นหาสำหรับรายการนี้
Sweet Onion Chicken Teriyaki
Oven Roasted Chicken
Turkey Breast
Italian BMT
Tuna
Black Forest Ham
Meatball Marinara
ในกรณีนี้เราไม่สามารถทำได้:
"SOTITBM".index(input()[0])
เพราะมีสองอินพุตที่ต่างกันที่เริ่มต้นด้วย a 'T'
คือ "ปลาทูน่า" และ "ตุรกี" เราต้องดูดัชนีอื่น หากคุณดูที่ดัชนีที่ 4 ของแต่ละสตริงคุณจะสังเกตเห็นว่ามันไม่ซ้ำกันทั้งหมด ดังนั้นเราสามารถทำสิ่งนี้ ...
"enklact".index(input()[3])
ในกรณีนี้สตริง "enklaction"คือ "enklact"
นั่นนำเราสู่ความท้าทายในปัจจุบัน ...
รับรายการสตริงส่งคืนสตริง enklaction ที่ถูกต้อง หรือกล่าวอีกอย่างหนึ่งคือให้รายการของสตริงส่งคืนสตริงใหม่ที่ตัวอักษรแต่ละตัวไม่ซ้ำกันและสตริงนั้นเกิดจากการรวมตัวอักษร i'th ของแต่ละสตริง
หากไม่มีสตริง enklaction ที่ถูกต้องการส่งของคุณจะต้องส่งคืนสตริงว่างหรือค่าเท็จที่สอดคล้องกันแทน ตามปกติอนุญาตให้ใช้ฟังก์ชั่นหรือโปรแกรมเต็มรูปแบบและรูปแบบอินพุต / เอาต์พุตอนุญาตได้ (ด้วยเหตุผล)
แต่ละสตริงจะมีเฉพาะ ASCII ที่พิมพ์ได้และความท้าทายนี้จะต้องตรงตามตัวพิมพ์ใหญ่ - เล็ก
นี่คือโค้ดกอล์ฟดังนั้นพยายามเขียนโปรแกรมสั้นที่สุดในภาษาที่คุณเลือก!
กรณีทดสอบ
Input:
Programming
Puzzles
Code
Golf
Output (any one of these):
"ozdl"
"gzef"
Input:
the quick
brown fox
jumped over
lazy dogs
Output:
"tbjl"
"hrua"
"eomz"
" wpy"
"qne "
"if o"
"kxvs"
Note that "u dd" and "coog" are not valid.
Input:
Sunday
Monday
Tuesday
Wednesday
Thursday
Friday
Saturday
Output:
""
Input:
AbC
aBc
bbC
Output:
"Aab"
Input:
@#$%^_
Hello_World
How are you?
Output:
"#eo"
"$lw"
"%l "
"^oa"
Input:
a
ab
ac
Output:
""