Фон
Натхненний я паліндром. Ти? , де представлено шокуюче те, що « ()()це не паліндром, але ())(», я запитав себе, що натомість є, ()()а відповідь проста: це струна з вертикальною віссю симетрії!
Завдання
Напишіть програму або функцію, яка приймає рядок S (або відповідний еквівалент у вашій мові) як вхідний, перевіряє на симетрію уздовж вертикальної осі і відповідно повертає значення truthy або false . Ви можете скористатися будь-якими розумними засобами, щоб взяти вклад і забезпечити вихід.
Рефлекторна симетрія
Відображаюча симетрія навколо вертикальної осі (або ліво-правої симетрії) означає, що якщо поставити дзеркало вертикально в точний центр струни, відбите зображення першої половини струни ідентичне другій половині струни.
Наприклад, наступні рядки відображають симетричні навколо вертикальної осі:
()()
()()()
[A + A]
WOW ! WOW
OH-AH_wx'xw_HA-HO
(<<[[[T*T]]]>>)
(:)
)-(
())(()
qpqp
хоча наступні не:
())(
((B))
11
+-*+-
WOW ! wow
(;)
qppq
Правила конкурсу
• Ваша програма або функція отримає лише друковані символи ASCII. Ви можете включити чи ні порожній рядок (який, звичайно, симетричний!) Як юридичний внесок, що краще для вас.
• Символи ASCII, які можна вважати симетричними щодо вертикальних осей, наступні (відзначте початковий пробіл та різницю між великими та малими літерами):
!"'+*-.:=AHIMOTUVWXY^_ovwx|
Символи ASCII, які можна вважати дзеркальними, та їх відповідні символи:
()<>[]{}qpbd/\
Зауважте, що, оскільки вони є дзеркальними, ви можете мати як ()і )(, /\і \/, і т.д.
Усі інші символи для друку ASCII повинні вважатися асиметричними та без дзеркального відповідного символу.
• Це завдання з гольф-кодом : чим коротше ваша програма, виміряна в байтах, тим краще на будь-якій мові програмування.
• Кудо людям, які вироблятимуть симетричну програму!
Примітка : це запитання не є дублікатом "Зручний паліндром" , який вимагає перевірити паліндромні рядки, в яких круглі дужки перевернуті. Це питання відрізняється з двох причин:
1) це обмеження іншого питання щодо того, що стосується символів, що не вкладаються в дужки, оскільки лише симетричні символи можуть відображатися у зворотному порядку.
2) Оскільки він заснований на концепції симетрії, а не на концепції «зручного паліндром», Дзеркальні символи можуть з'являтися і в порядку, тобто []і ][, і це робить програму для вирішення вона відрізняється від програм , які вирішують іншу проблему .
8вважають "симетричним"?