배경
나는 회 문장에서 영감을 받았습니다 . 당신은? “ 이것은 회문이 아니라 ”라는 충격적인 사실 이 제시된 곳 에서 나는 대신 무엇이냐고 대답했다 . 대답은 간단하다 : 그것은 수직 대칭 축을 가진 스트링이다!()()
())(
()()
작업
문자열 S (또는 해당 언어의 해당 항목)를 입력으로 사용하고 세로 축을 따라 대칭을 확인한 후 그에 따라 참 또는 거짓 값을 반환하는 프로그램 또는 함수를 작성하십시오 . 당신이 사용할 수있는 합리적인 수단을 입력을 받아 출력을 제공합니다.
반사 대칭
수직 축 주위의 반사 대칭 (또는 좌우 대칭)은 스트링의 정확한 중앙에 거울을 수직으로 놓으면 스트링의 전반부의 반사 이미지가 스트링의 후반과 동일하다는 것을 의미합니다.
예를 들어 다음 문자열은 세로 축을 기준으로 반사 대칭입니다.
()()
()()()
[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
"대칭"으로 간주 되지 않습니까?