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

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

A를 B로

면접 대비

시간 제한2초메모리 제한512 MB

요약
길이가 같은 두 대문자 문자열 A와 B가 주어질 때, 문자 하나를 골라 맨 앞으로 옮기는 연산만으로 A를 B로 만드는 최소 횟수를 구하고, 불가능하면 -1을 출력한다.
난이도

보통10점 중 5점

유형
문자열, 그리디, 투 포인터, 해시맵
정답자
아직 제출이 없습니다

문제

문자열 A와 B가 주어진다. 연산을 한 번 한다는 것은 A에서 글자 하나를 골라 문자열의 맨 앞으로 옮기는 것이다.

A를 B로 만들기 위해 필요한 연산 횟수의 최솟값을 구하는 프로그램을 작성하시오.

입력

첫째 줄에 A, 둘째 줄에 B가 주어진다. 두 문자열의 길이는 같고 50 이하이며, 알파벳 대문자로만 이루어져 있다.

출력

첫째 줄에 A를 B로 만드는 연산 횟수의 최솟값을 출력한다. A를 B로 만들 수 없으면 -1을 출력한다.

예제5

  1. 예제 1

    입력
    ABC
    CBA
    
    예상 출력
    2
    
  2. 예제 2

    입력
    A
    B
    
    예상 출력
    -1
    
  3. 예제 3

    입력
    AAABBB
    BBBAAA
    
    예상 출력
    3
    
  4. 예제 4

    입력
    A
    A
    
    예상 출력
    0
    
  5. 예제 5

    입력
    DCABA
    DACBA
    
    예상 출력
    2