애너그램 거리

면접 대비

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

요약
여러 단어 쌍에 대해 두 단어의 글자 빈도를 맞추기 위해 지워야 하는 글자 수의 합을 구합니다.
난이도

쉬움10점 중 2점

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

문제

단어 A의 알파벳 순서만 바꾸어 단어 B를 만들 수 있으면, 두 단어는 서로 애너그램이라고 한다. 예를 들어 occurs는 succor의 애너그램이지만, dear는 dared의 애너그램이 아니다. 영어에서 가장 유명한 애너그램은 dog와 god이다.

두 단어의 애너그램 거리는, 두 단어가 서로 애너그램이 되도록 만들기 위해 (두 단어에서) 지워야 하는 글자의 최소 개수이다. 예를 들어 sleep과 leap이 주어지면, sleep에서 2개, leap에서 1개의 글자를 지우면 두 단어가 애너그램이 되므로, sleep과 leap의 애너그램 거리는 3이다. dog와 cat처럼 공통된 글자가 하나도 없는 경우에는 모든 글자를 지워야 하므로 애너그램 거리는 6이다.

두 단어가 주어졌을 때, 두 단어의 애너그램 거리를 구하는 프로그램을 작성하시오.

입력

첫째 줄에 테스트 케이스의 개수 NN이 주어진다. NN은 60,000 이하의 자연수이다. 각 테스트 케이스는 두 줄로 이루어지며, 각 줄에 단어가 하나씩 주어진다.

단어의 길이는 0일 수도 있으며(빈 줄), 알파벳 소문자로만 이루어져 있다. 실제로 영어 사전에 있는 단어만 주어지며, 영어 사전에서 가장 긴 단어는 pneumonoultramicroscopicsilicovolcanoconiosis이다.

출력

각 테스트 케이스에 대해 Case #x: d 형식으로 한 줄씩 출력한다. 여기서 xx는 1부터 시작하는 테스트 케이스 번호이고, dd는 그 두 단어의 애너그램 거리이다.

예제1

  1. 예제 1

    입력
    4
    crocus
    succor
    dares
    seared
    empty
    
    smell
    lemon
    
    예상 출력
    Case #1: 0
    Case #2: 1
    Case #3: 5
    Case #4: 4