문제
회문(palindrome)은 정방향과 역방향 모두 동일한 문자열이다. 회문 문자열의 예로는 "kayak", "wow" 및 "noon"가 있다.
반면에 "klee"와 같은 문자열은 회문이 아니다. "klee"은 거꾸로 읽으면 "eelk"이 되며, 이는 "klee"와 동일하지 않기 때문이다.
정올 연구소는 문자열을 두 조각으로 분할하여 나뉜 두 조각의 문자열이 모두 회문이 되는지에 대한 여부를 조사하고 있다.
예를 들어 문자열 "ababab"를 "aba"과 "bab"로 나누거나 "a"와 "babab"로 나눈다면 두 개의 회문 문자열로 나눌 수 있다.
반면 "irvinganteng"이라는 문자열은 아무리 나누어도 두 개의 회문을 만들 수가 없다.
문자열 S가 주어지면 두 개의 회문 문자열로 나눌 수 있는지 확인하는 프로그램을 작성하시오.
가능하다면 두 개의 회문 문자열 A와 B를 출력하고, 불가능하다면 "NO"를 출력하시오.
입력
첫 줄에 문자열 S가 입력되며, 해당 문자열은 알파벳 소문자만을 포함하고 길이는 2에서 500 사이이다.
출력
문자열 S가 주어지면 두 개의 회문 문자열로 나눌 수 있다면 두 개의 회문 문자열 A와 B를 출력하고, 불가능하다면 "NO"를 출력하시오.
예제 #1
wowmom
wow mom
예제 #2
ababab
aba bab
예제 #3
apple
NO
출처
INC 2021