1. paizaラーニングトップ
  2. レベルアップ問題集
  3. MP・KMPメニュー(言語選択)
  4. 問題一覧 Kotlin編
  5. 問題 9 : 文字列検索 4 Kotlin編

MP・KMPメニューのサムネイル
問題 9 : 文字列検索 4 Kotlin編(paizaランク S 相当)

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

問題

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

英小文字から2つの文字列 S と T が入力として与えられます。
文字列 S が文字列 T に現れるかどうかを判定してください。

つまり、文字列 T の部分文字列のうち、文字列 S と一致するものが存在するかどうかを判定してください。

S = ask
T = paizaskillcheck
の場合、S = ask は T の 5 文字目から 7 文字目までの部分文字列なので、S は T に現れます。

ヒント :
明らかに S と一致しなさそうな部分を比較するのは無駄なので、S が含まれる可能性がある部分だけ見たい!!!
1 つ前の問題で求めた答えを見たら何かわかるかも??

入力される値

入力は以下のフォーマットで与えられます

S
T

1 行目には文字列 S が、2 行目には文字列 T が与えられます。


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

S が T の部分文字列のうちいずれかと一致するなら Yes を、そうでないなら No を一行で出力してください。
ただし、末尾には改行を入れ、
余計な文字や空白、空行を出力しないようにしてください。

条件

すべてのテストケースにおいて、以下の条件をみたします。
・1 ≦ |S| ≦ 10^6
・1 ≦ |T| ≦ 2×10^6
・|S| ≦ |T|
・|S|, |T| はそれぞれ文字列 S の長さと文字列 T の長さを表します。
・S, T は英小文字のみからなる文字列

入力例1

ask
paizaskillcheck

出力例1

Yes

問題一覧へ戻る

ページの先頭へ戻る