공부/백준

백준 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 증가 한 후, 그 값을 출력하면 되는 문제입니다.