코딩로그
[백준/BOJ/C++] 3449번 해밍 거리 본문
[문제]
해밍 거리란 두 숫자의 서로 다른 자리수의 개수이다. 두 이진수가 주어졌을 때, 해밍 거리를 계산하는 프로그램을 작성하시오.
[입력]
입력을 여러 개의 테스트 케이스로 이루어져 있다. 첫째 줄에는 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 두 줄로 이루어져 있다. 각 줄에는 이진수가 하나씩 주어진다. 두 이진수는 길이가 서로 같고, 100자리를 넘지 않는다.
[출력]
각 테스트 케이스에 대해서, 해밍 거리를 계산한 뒤, "Hamming distance is X."라고 출력한다. X는 해밍 거리이다.
[Source Code]
#include <stdio.h>
#include <iostream>
#include <algorithm>
#include <string>
#include <cmath>
#include <vector>
using namespace std;
int main() {
	int test;
	cin >> test;
	int *arr = new int[test];
	for(int i  = 0; i < test; i++){
		string a, b;
		int count = 0;
		cin >> a >> b;
		for(int j = 0; j < a.length(); j++){
			if(a[j] != b[j])
				count++;
		}
		arr[i] = count;
	}
	for(int i = 0; i < test; i++)
		cout << "Hamming distance is " << arr[i] <<".\n";
}[결과 화면]

'YJ > C++' 카테고리의 다른 글
| [백준/BOJ/C++] 15969번 행복 (0) | 2021.10.21 | 
|---|---|
| [백준/BOJ/C++] 2480번 주사위 세개 (0) | 2021.10.21 | 
| [백준/BOJ/C++] 5523번 경기 결과 (0) | 2021.10.21 | 
| [백준/BOJ/C++] 11948번 과목선택 (0) | 2021.10.21 | 
| [백준/BOJ/C++] 9610번 사분면 (0) | 2021.10.21 | 
 
                   
                   
                  