관리 메뉴

솜씨좋은장씨

[BaekJoon] 3449번 : 해밍 거리 (Python) 본문

Programming/코딩 1일 1문제

[BaekJoon] 3449번 : 해밍 거리 (Python)

솜씨좋은장씨 2021. 10. 11. 00:54
728x90
반응형

코딩 1일 1문제! 오늘의 문제는 백준 3449번 해밍 거리 입니다.

 

3449번: 해밍 거리

입력을 여러 개의 테스트 케이스로 이루어져 있다. 첫째 줄에는 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 두 줄로 이루어져 있다. 각 줄에는 이진수가 하나씩 주어진다. 두 이진

www.acmicpc.net

👨🏻‍💻 문제 풀이

해밍 거리는 같은 길이의 두 문자열에서, 같은 위치에 있는 기호 중 다른 기호가 몇 개인지를 센 수 입니다.

예를 들어

1111111100000000

0000000011111111

-> 다른 기호의 개수가 16개 -> 해밍 거리 16

101

000

-> 다른 기호의 개수가 2개 -> 해밍 거리 2

위와 같습니다.

distance = 0
for n1, n2 in zip(num1, num2):
    if n1 != n2:
        distance += 1

이를 코드로 구현하여 해밍 거리를 구하고

f"Hamming distance is {distance}."

f-string으로 출력 결과를 만들면! 끝!

 

전체 코드는 다음과 같습니다.

👨🏻‍💻 코드 ( Solution )

def hamming_distance(num1, num2):
    distance = 0
    for n1, n2 in zip(num1, num2):
        if n1 != n2:
            distance += 1

    return f"Hamming distance is {distance}."

if __name__ == "__main__":
    for _ in range(int(input())):
        num1 = input()
        num2 = input()
        print(hamming_distance(num1, num2))
 

GitHub - SOMJANG/CODINGTEST_PRACTICE: 1일 1문제 since 2020.02.07

1일 1문제 since 2020.02.07. Contribute to SOMJANG/CODINGTEST_PRACTICE development by creating an account on GitHub.

github.com

Comments