Informatica Online Judge

  애너그램 (anagram) [1554 / 0612]

Time Limit(Test case) : 1000 (ms)
Number of users who solved : 57   Total Tried : 94


The Champion of this Problem (C++) : gs19022 - 0ms / 346byte
My Best Submission (C++) : N/A

[]

Background

경곽이는 정보과학 시간에 애너그램에 대해서 배웠다. 애너그램은 두 영어 단어가 철자의 순서를 뒤바꾸어 같아질 수 있을 때, 그러한 두 단어를 서로 애너그램 관계에 있다고 한다.

그래서 다음과 같은 생각을 했다.

예를 들면 occurs 라는 영어 단어와 succor 는 서로 애너그램 관계에 있는데, occurs의 각 문자들의 순서를 잘 바꾸면 succor이 되기 때문이다.

한 편, dared와 bread는 서로 애너그램 관계에 있지 않다. 하지만 dared에서 맨 앞의 d를 제거하고, bread에서 제일 앞의 b를 제거하면, ared와 read라는 서로 애너그램 관계에 있는 단어가 남게 된다.

영문 소문자로만 이루어진 임의의 두 단어가 주어졌을 때, 서로 애너그램 관계에 있도록 만들기 위해서 제거해야 하는 최소 개수의 문자 수를 구하는 프로그램을 작성하시오.

단, 문자를 제거할 때에는 아무 위치에 있는 문자든지 제거할 수 있다.

Input

첫째 줄과 둘째 줄에 영어 단어가 소문자로 주어진다.

[입력값의 정의역]
1 ≤각문자열의 길이 ≤ 1,000

Output

애너그램을 만들기 위해 지워야하는 최소문자 수를 출력한다.

IO Example

입력
aabbcc
xxyybb

출력
8

* 첫 번째 문자열에서 a, a, c, c를 지우고, 두 번째 문자열에서 x, x, y, y를 지우면 애너그램이 된다.

Submit : [C/C++] | [C++11] | [Obj-C] | [Java] | [Python]
Prob Analysis : [Problem Statistics] | [Solution]