1. paizaラーニングトップ
  2. レベルアップ問題集
  3. Bランク・スキルチェック過去問題セット(言語選択)
  4. 問題一覧 Swift編
  5. 「決まり字」を解くために : part3 Swift編

Bランク・スキルチェック過去問題セットのサムネイル
「決まり字」を解くために : part3 Swift編(paizaランク C 相当)

問題にチャレンジして、ユーザー同士で解答を教え合ったり、コードを公開してみよう!

問題

下記の問題をプログラミングしてみよう!

決まり字を求めるには、最長共通接頭辞というものを考える必要があります。


一般に、文字列 S と文字列 T の共通する接頭辞のうち最長のものを、文字列 S と文字列 T の 最長共通接頭辞 (LCP) と呼びます。
例えば、akinotanokarihonoionotomaoaramiakikazenitanabikukumonotaemayori の最長共通接頭辞は aki です。
決まり字を求めるには、まずは最長共通接頭辞を求める必要があります。

2 つの和歌の上の句が与えられるので、最長共通接頭辞の長さを出力してください。

入力される値

n
s_1
s_2

* 1 行目では、和歌の数 n が与えられます。
* 2 行目から 3 行目までの各行では、和歌の上の句が与えられます。i + 1 (1 ≦ i ≦ 2) 行目には、和歌 i の上の句が与えられます。
* 入力は合計で 3 行となり、入力の末尾に改行が 1 つ入ります。


入力値最終行の末尾に改行が1つ入ります。
文字列は標準入力から渡されます。 標準入力からの値取得方法はこちらをご確認ください
期待する出力

2 つの和歌の上の句の最長共通接頭辞の長さを出力してください。

最後は改行し、余計な文字、空行を含んではいけません。

条件

* n = 2
* 1 ≦ |s_i| ≦ 100
* s_i は英小文字からなる
* s_i ≠ s_j (i ≠ j)
* s_i が s_j (i ≠ j) の接頭辞に完全に含まれることはない

入力例1

2
akinotanokarihonoionotomaoarami
akikazenitanabikukumonotaemayori

出力例1

3

入力例2

2
kirigirisunakuyashimoyonosamushironi
kimigatameharunononiidetewakanatsumu

出力例2

2

入力例3

2
murasamenotsuyumomadahinumakinohani
suminoenokishiniyorunamiyorusaeya

出力例3

0

入力例4

2
aaaaaa
aaab

出力例4

3

問題一覧へ戻る

ページの先頭へ戻る