문제
해밍 거리는 두 숫자의 서로 다른 자리수의 개수이다.
각 테스트케이스에서 두 이진수가 주어질 때, 해밍 거리를 계산하라.
풀이
서로 다른 자리수의 개수를 구하는 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}.')
'BOJ > Python' 카테고리의 다른 글
[BOJ/백준] 33170 - ブラックジャック (Blackjack) (Python) (0) | 2025.01.22 |
---|---|
[BOJ/백준] 30614 - Port Robot (Python) (1) | 2025.01.21 |
[BOJ/백준] 33163 - OIJ (Python) (1) | 2025.01.21 |
[BOJ/백준] 33161 - 鉛筆 2 (Pencils 2) (Python) (0) | 2025.01.21 |
[BOJ/백준] 33178 - Micromasters (Python) (0) | 2025.01.21 |