AtCoder Beginner Contest 145 B - Echo
寝違えにより肩を痛めました、ねむーです。
今回はAtCoder(https://atcoder.jp/contests/abc145/tasks/abc145_b)にて開催されました、AtCoder Beginner Contest 145 B問題「B - Echo」の問題と僕との戦闘記です。
0.はじめに
1.問題文
正整数 N 及び、長さ N の英小文字から成る文字列 S が与えられます。
この文字列が、ある文字列を二度繰り返したものであるかを判定してください。 則ち、文字列 T であって、 S= T + T となるものが存在するかを判定してください。
2.制約
- 1 ≤ N ≤ 100
- S は英小文字から成る
- |S|=N
3.入力例
- 入力
6 abcadc
- 出力
No
4.初見の感想
- そもそも成立するのは総文字数が偶数の時限定の話である
5.学びポイント
- forループで一回でも反復ではないところを見つけたらFalseにするようにしてみました
6.コードと簡単な解説
using System; class Program { static void Main(string[] args) { int N = int.Parse(Console.ReadLine()); string S = Console.ReadLine(); if (N % 2 == 0) { bool iterationFlag = true; for(int i = 0; i < N / 2; i++) { if (S[i] != S[N / 2 + i]) iterationFlag = false; } if (iterationFlag == true) { Console.WriteLine("Yes"); } else { Console.WriteLine("No"); } } else { Console.WriteLine("No"); } } }
7.最後に
お体にはお気をつけて…