공부/백준

백준 3449번: 해밍 거리(C++)

상연 2020. 12. 10. 22:20

목차

www.acmicpc.net/problem/3449

 

3449번: 해밍 거리

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

www.acmicpc.net

코드

#include <iostream>
using namespace std;

int main() {
	string num1;
	string num2;
	int t;
	cin >> t;
	
	for(int i=0; i<t; i++){
		cin >> num1 >> num2;
		int cnt = 0;
		for(int j=0; j<num1.length(); j++){
			if(num1[j] != num2[j]) cnt++;
		}
		cout << "Hamming distance is " << cnt << "." << endl;
	}
}

풀이

크게 설명할 부분이 없는 문제입니다.

문자열로 2진수인 두 수를 받아서 모든 인덱스를 상호 비교하며 차이가 있을때 마다 cnt 변수에 1 증가 한 후, 그 값을 출력하면 되는 문제입니다.