6996 - 애너그램
문제
두 단어 A와 B가 주어졌을 때, A에 속하는 알파벳의 순서를 바꾸어서 B를 만들 수 있다면, A와 B를 애너그램이라고 한다.
두 단어가 애너그램인지 아닌지 구하는 프로그램을 작성하시오.
코드
from collections import defaultdict
import sys
input = sys.stdin.readline
T = int(input())
for _ in range(T):
a, b = input().split()
adic = defaultdict(int)
bdic = defaultdict(int)
for char in a:
adic[char] += 1
for char in b:
bdic[char] += 1
if adic == bdic:
print('{} & {} are anagrams.'.format(a, b))
else:
print('{} & {} are NOT anagrams.'.format(a, b))
한마디
딕셔너리를 이용해 두 문자열에 들어간 알파벳 개수가 같으면 anagram
이라고 판정했다.