https://www.acmicpc.net/problem/3449
문제
해밍 거리란 두 숫자의 서로 다른 자리수의 개수이다. 두 이진수가 주어졌을 때, 해밍 거리를 계산하는 프로그램을 작성하시오.
입력
입력을 여러 개의 테스트 케이스로 이루어져 있다. 첫째 줄에는 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 두 줄로 이루어져 있다. 각 줄에는 이진수가 하나씩 주어진다. 두 이진수는 길이가 서로 같고, 100자리를 넘지 않는다.
출력
각 테스트 케이스에 대해서, 해밍 거리를 계산한 뒤, "Hamming distance is X."라고 출력한다. X는 해밍 거리이다.
코드
n = int(input())
for i in range(n):
a = (input())
b = (input())
cnt = 0
for j in range(len(a)):
if a[j] != b[j]:
cnt += 1
print('Hamming distance is {}.'.format(cnt))
풀이
1. 테스트 케이스의 수를 입력받고, 그만큼 반복하는 루프를 시작한다.
2. 문자열 두 개를 입력받아 변수에 저장한다.
3. 해밍 거리를 저장할 변수 cnt를 초기화한다.
4. 한 자리수 씩 비교하면서 해밍거리를 계산하고 출력한다.
'Koala - 13기 > 기초 알고리즘 스터디' 카테고리의 다른 글
[백준/C++] 9012: 괄호 (0) | 2024.01.21 |
---|---|
[백준/python] 1673번 치킨쿠폰 (0) | 2024.01.21 |
[백준/Python] 2745번 : 진법 변환 (0) | 2024.01.20 |
[BOJ/java] 6502번 동혁피자 (0) | 2024.01.20 |
[백준/c++] 3181: 줄임말 만들기 (1) | 2024.01.20 |