[백준/파이썬] 2607번 비슷한 단어 풀이

업데이트:



문제 정보


풀이

문제

첫 단어를 기준으로 나머지 단어들이 비슷한 단어인지 판별해 개수를 세는 문제입니다.

코드

n=int(input())
a=dict()
for c in input():
    try:a[c]+=1
    except:a[c]=1
s=0
for i in range(n-1):
    b=dict(a)
    for c in input():
        try:b[c]-=1
        except:b[c]=-1
    l=b.values()
    m,M=10,-10
    c=C=0
    for p in l:
        m=min(p,m)
        M=max(p,M)
        if p==-1:c+=1
        if p==1:C+=1
    if m>-2 and M<2 and c in[0,1] and C in[0,1]:s+=1
print(s)

설명

기준 단어 문자 빈도를 복사한 뒤 비교 단어로 증감 차이를 계산하고, 차이 조건을 만족하는 경우를 카운트합니다.



댓글남기기