애너그램 만들기

길이가 같은 두 대문자 문자열 A와 B가 주어질 때, A의 각 위치를 알파벳 순환 증가시켜 B의 애너그램으로 만드는 최소 연산 횟수를 구한다.

보통6그리디정렬문자열수학면접 대비아직 제출이 없습니다시간 제한2초메모리 제한512 MB

문제

엘리에게 길이가 같은 두 문자열 AABB가 있다. 엘리는 AA의 글자 몇 개를 바꿔서 AABB의 애너그램으로 만들려고 한다.

두 문자열 XXYY 중 한쪽의 글자를 재배열해서 다른 쪽을 만들 수 있으면, XXYY는 서로 애너그램이다.

엘리가 할 수 있는 연산은 하나뿐이다. AA의 문자 중 일부(하나도 고르지 않아도 되고 전부 골라도 된다)를 골라, 고른 문자마다 순환하는 다음 글자로 한 번 이상 옮긴다. 'A'는 'B'가 되고, 'K'는 'L'이 되며, 'Z'는 다시 'A'가 된다.

예를 들어 "ELLY"를 자리마다 그대로 "KRIS"로 바꾸면, 'E'에서 'K'까지 6번, 'L'에서 'R'까지 6번, 두 번째 'L'에서 'I'까지 23번(15번째에 'Z'에서 'A'로 넘어간다), 'Y'에서 'S'까지 20번(2번째에 'Z'에서 'A'로 넘어간다)이 든다. 모두 더하면 6+6+23+20=556 + 6 + 23 + 20 = 55번이다. 그런데 "ELLY"를 "KRIS"의 애너그램으로만 만들면 되므로, "IRSK"로 바꾸면 29번으로 끝난다.

문자열 AABB가 주어진다. AABB의 애너그램인 문자열 XX로 바꾸는 데 필요한 연산 횟수의 최솟값을 구하는 프로그램을 작성하시오.

입력

첫째 줄에 문자열 AA가, 둘째 줄에 문자열 BB가 주어진다. 두 문자열은 영어 대문자 'A'부터 'Z'까지로만 이루어져 있다.

출력

연산 횟수의 최솟값을 정수 하나로 출력한다.

제한

  • 1A=B501 \le |A| = |B| \le 50 (S|S|는 문자열 SS의 길이)