pythonのmin関数(CodingBat)

 

warmup-2

 string_match

Q.

『Given 2 strings, a and b, return the number of the positions where they contain the same length 2 substring. So “xxcaazz” and “xxbaaz” yields 3, since the “xx”, “aa”, and “az” substrings appear in the same place in both strings.』

ex)

string_match(‘xxcaazz’, ‘xxbaaz’) → 3
string_match(‘abc’, ‘abc’) → 2
string_match(‘abc’, ‘axc’) → 0

要するに、連続した2文字を比較した時に、かぶる個数を数えろということである。

自分が書いたコードが以下である。for文処理を何回繰り返すかは、文字列aと文字列bの長さによるので、a>bの時とa<bの時をif文で表現した。

 

しかしpythonには便利な関数min()関数があることをしる(思い出す)。

min(len(a),len(b))でaとbの文字数の少ない方を選択できるわけだ。これを用いると簡単になる。

上のようにもかける。

 

 



 

記事が役に立ったらシェア!

投稿者:

中村 俊

中村 俊

1993/09/04生まれ。機械系大学院を休学し、ベンチャーでインターンしている最中。直近では、デカルトの「方法序説」に感銘を受けた。 趣味:読書、web開発の勉強、異分野の論文読んだり、記事書いたり。 最終的には経営者か研究者になりたい。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA