본문 바로가기

BOJ/Python

[BOJ/백준] 3449 - 해밍 거리 (Python)

문제

문제링크

해밍 거리는 두 숫자의 서로 다른 자리수의 개수이다.

각 테스트케이스에서 두 이진수가 주어질 때, 해밍 거리를 계산하라.

 

풀이

서로 다른 자리수의 개수를 구하는 diff_chars 함수를 정의한다.

 zip으로 두 문자열을 묶고 각 자리수에서다르면 1을 더하는 방식이다.

각 테스트케이스에서 이진수를 문자열 형태로 입력받아 diff_chars 함수를 사용하면 해밍 거리를 구할 수 있다.

f-string으로 문제에서 주어진 형식에 맞춰 각 해밍 거리를 넣어 출력한다.

 

코드

import sys
input=sys.stdin.readline

def diff_chars(s1, s2):
    return sum(1 for a, b in zip(s1, s2) if a!=b)

t=int(input())
for _ in range(t):
    s1=input()
    s2=input()
    diff=diff_chars(s1,s2)
    print(f'Hamming distance is {diff}.')