코딩로그
[백준/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 |