[백준/파이썬] 3778번 애너그램 거리 풀이
업데이트:
문제 정보
- 문제 출처: 백준 온라인 저지
- 문제 링크: 3778번 애너그램 거리
- 문제풀이 코드 GitHub 링크
- 제출 언어: Python 3
풀이
문제
두 문자열이 애너그램이 되기 위해 추가/삭제해야 하는 최소 문자 개수를 구하는 문제입니다.
코드
import sys;read=sys.stdin.readline
s=[]
for T in range(int(read())):
a,b=read(),read()
c=dict()
for ch in a:
try:c[ch]+=1
except:c[ch]=1
for ch in b:
try:c[ch]-=1
except:c[ch]=-1
r=0
for k,v in c.items():r+=abs(v)
s.append(f'Case #{T+1}: {r}')
print('\n'.join(s))
설명
문자별 등장 횟수 차이를 딕셔너리로 누적한 뒤 절댓값 합을 구하면 애너그램 거리입니다.
댓글남기기