Натхненний цим ланцюжком коментарів ...
Я хочу
enklact
вирішити цю проблему, але не можу ...@ETHproductions to enklact (v): реалізувати таблицю пошуку за допомогою підрозділу, що складається з унікальних елементів.
Залучення - це дуже корисний спосіб стиснення таблиці пошуку. Наприклад, скажімо, у вас був такий список кольорів:
red
green
blue
yellow
purple
orange
Якщо ви хочете мати можливість взяти колір у якості введення та повернути його індекс у цьому списку, очевидно, є простий спосіб:
["red", "green", "blue", "yellow", "purple", "orange"].index(input())
Але є спосіб, як ми могли це зробити набагато менше байтів:
"rgbypo".index(input()[0])
Це працює, тому що перший (або 0'-й) індекс кожного рядка є унікальним. Цей приклад очевидний, але іноді це трохи складніше. Що робити, якщо ми хотіли скласти таблицю пошуку для цього списку?
Sweet Onion Chicken Teriyaki
Oven Roasted Chicken
Turkey Breast
Italian BMT
Tuna
Black Forest Ham
Meatball Marinara
У цьому випадку ми не можемо цього зробити:
"SOTITBM".index(input()[0])
тому що є два різних входи, які починаються з а 'T'
, а саме "тунець" та "Туреччина". Треба подивитися на інший показник. Якщо ви подивитесь на 4-й індекс кожного рядка, ви помітите, що всі вони унікальні. Тож ми можемо це зробити ...
"enklact".index(input()[3])
У цьому випадку "рядок прокляття" - це "інклакт".
Це призводить нас до сьогоднішнього виклику ...
Подаючи список рядків, поверніть будь-яку дійсну рядок обкладинки. Або іншими словами, задавши список рядків, повертайте будь-яку нову рядок, де кожна літера є унікальною, а рядок формується приєднанням до i-ї літери кожного рядка.
Якщо не існує дійсного рядка обкладинки, натомість ваше повідомлення повинно повернути порожню рядок або послідовне хибне значення. Як завжди, дозволені або функції, або повні програми, а формати введення / виводу є дозволеними (в межах причини).
Кожна рядок містить лише 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:
""