for 文の練習をしよう!
問題概要
長さ の文字列 が与えられる。これらの文字列のハミング距離を求めよ。
ハミング距離とは、 となる の個数のことを指す。
解法
for
文の出番です。S[i] != T[i]
であるような i
の個数を求めればよいでしょう。
それでは、具体的なコードについて考えます。
上図のように、答えとなる変数 res
を用意して、res = 0
と初期化しておきます。そして、for
文を用いて、各 i
に対して
S[i] != T[i]
であるならば、res
を 1 増やす (下のコードでは++res
としています)- そうでないならば、何もしない
というようにすればよいです。
コード
#include <bits/stdc++.h> using namespace std; int main() { int N; string S, T; cin >> N >> S >> T; int res = 0; for (int i = 0; i < N; ++i) { if (S[i] != T[i]) { ++res; } } cout << res << endl; }