첫째 줄에 A, 둘째 줄에 B가 주어진다.
두 문자열의 길이는 같으며, 길이는 50을 넘지 않는다. 또, 알파벳 대문자로만 이루어져 있다.
첫째 줄에 A를 B로 바꾸는 연산 횟수의 최솟값을 출력한다. A를 B로 바꿀 수 없을 때는 -1을 출력한다.
배열에 A와 B에 있는 문자를 모두 표시해서
겹치지 않는게 존재하는 경우는 바꿀 수 없는 경우니깐 -1
출력
나머지 경우에는 A는 앞에서부터, B는 뒤에서부터 비교해가면서
옮겨야 하는 문자의 갯수 찾아주기
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String A = br.readLine();
String B = br.readLine();
int[] arr = new int[26];
for (char c : A.toCharArray()) {
arr[c-'A']++;
}
for (char c : B.toCharArray()) {
arr[c-'A']--;
}
for (int i : arr) {
if (i != 0) {
System.out.println(-1);
return;
}
}
int cnt = 0;
for (int i = A.length() - 1; i >= 0; i--) {
if (A.charAt(i) == B.charAt(A.length() - 1 - cnt)) cnt++;
}
System.out.println(A.length() - cnt);
}
}