torus711 のアレ

主に競技プログラミングの問題について書きます

AtCoder Beginner Contest 172, B : Minor Change

問題概要

 英小文字からなる 2 つの文字列 $S, T$ が与えられる.$S$ の 1 文字を異なる文字に変更する操作を繰り返して $S$ を $T$ に一致させるとき,必要な操作回数の最小値はいくらか?

制約

  • $1 \leq |S|, |T| \leq 2 \times 10^5$
  • $|S| = |T|$

解法

 $S_i \neq T_i$ であるような $i$ については,明らかにその場所で操作をしなければなりません.また,そうでない箇所に対して操作をすることは無駄です.よって,$S_i \neq T_i$ であるような $i$ の個数がそのまま答えになります.

コード (Haskell)

main = do
	s <- getLine
	t <- getLine
	print $ length $ filter ( id ) $ zipWith (/=) s t