아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

암호 만들기

면접 대비

시간 제한0.5초메모리 제한256 MB

요약
문자열 A와 P가 주어질 때, A와 B가 공통으로 가지는 길이 |P| 부분 문자열이 P 하나뿐이도록 하는 B를 길이 100 이하로 만든다.
난이도

보통10점 중 4점

유형
문자열, 해시맵, 구현, 그리디
정답자
아직 제출이 없습니다

문제

당신은 폴리매스 왕국의 암호 개발자 친구로부터 개발을 요청받아 암호 제작을 돕기로 했습니다.

친구가 고안한 암호는 다음과 같이 작동합니다. 1에서 9까지의 숫자로 이루어진 문자열 AA와 BB가 있을 때, 이 둘이 공통으로 가지는 부분 문자열 중 길이가 KK인 것이 비밀번호가 됩니다. (부분문자열의 정의는 다음 페이지에 있습니다.) 예를 들어, A=1122A=1122, B=1223B=1223, K=2K=2라면, 비밀번호로 가능한 문자열은 1212, 2222입니다.

친구는 문자열 AA와 암호 PP를 이미 정해 놓았고, BB를 정하려고 합니다. 비밀번호로 가능한 문자열이 여러 개일 경우 보안이 약해질 수 있기 때문에, PP 이외에 다른 비밀번호가 나와서는 안 됩니다. 친구를 도와 이 조건을 모두 만족하는 BB를 아무거나 하나 찾아 주도록 합시다. 문자열이 너무 길면 힘들기 때문에, BB의 길이는 100 이하여야 합니다.

조건을 만족하는 문자열 BB가 항상 존재함이 보장됩니다.

입력

첫 줄에는 문자열 AA가 주어집니다. 둘째 줄에는 비밀번호 PP가 주어집니다.

출력

PP가 유일한 비밀번호가 되게 하는 BB를 아무거나 출력합니다.

제한

  • 1≤∣P∣≤∣A∣≤1001 \le |P| \le |A| \le 100 (단, ∣S∣|S|는 SS의 길이를 나타냅니다.)
  • AA는 PP를 부분 문자열로 가집니다.
  • AA, PP의 모든 문자는 1 이상 9 이하의 숫자입니다.
  • K=∣P∣K=|P|
  • ∣B∣≤100|B| \le 100

힌트

BB가 AA의 부분문자열이라는 것은 AA의 왼쪽 끝과 오른쪽 끝에서 0개 이상의 문자를 제거해서 BB를 만들 수 있음을 말합니다. 예를 들어 "123123"의 부분문자열로는 "123", "2312", "3", "123123" 등이 있지만, "11", "212" 등은 부분문자열이 아닙니다.

예제2

  1. 예제 1

    입력
    11299
    29
    
    예상 출력
    3298
    
  2. 예제 2

    입력
    12345678
    234
    
    예상 출력
    234234