두 짧은 문자열을 각각 겹치지 않는 두 조각으로 잘라 A+C와 B+D가 같아지도록 만들고, 가장 길면서 사전순으로 가장 앞선 이름을 출력한다.
어려움8문자열완전 탐색동적 계획법아직 제출이 없습니다시간 제한2초메모리 제한512 MB강호와 준규가 각자 하던 가게를 정리하고 힘을 합쳐 새로운 가게를 열었다.
오늘은 새 가게의 이름을 정하려고 한다. 두 사람은 예전에 쓰던 가게 간판을 그대로 가지고 있고, 이 간판을 잘라서 새 가게의 이름을 만들려고 한다. 이름을 만드는 과정은 다음과 같다. 이때 대문자와 소문자는 서로 다른 문자로 구분한다.
강호의 간판에 쓰여 있는 문자열 X와 준규의 간판에 쓰여 있는 문자열 Y가 주어졌을 때, 가능한 새 가게 이름 중에서 가장 긴 것을 구하는 프로그램을 작성하시오. 길이가 가장 긴 이름이 여러 개라면 사전 순으로 앞서는 것을 고른다. 사전 순은 아스키 코드 순서를 따르므로 모든 대문자가 모든 소문자보다 앞선다.
첫째 줄에 강호의 문자열 X와 준규의 문자열 Y가 공백 하나로 구분되어 주어진다. 두 문자열의 길이는 각각 1 이상 47 이하이고, 알파벳 대문자와 소문자로만 이루어져 있다.
가능한 새 가게 이름 중에서 가장 긴 것을 출력한다. 길이가 가장 긴 이름이 여러 개라면 사전 순으로 앞서는 것을 출력한다.
가능한 이름이 없으면 -1을 출력한다.