Official

A - mnclr Editorial by kyopro_friends


AtCoder をはじめたばかりで何をしたらよいか分からない方は、まずは practice contest の問題 A「Welcome to AtCoder」を解いてみてください。基本的な入出力の方法が載っています。
また、プログラミングコンテストの問題に慣れていない方は、AtCoder Beginners Selection の問題をいくつか解いてみることをおすすめします。


答えとなる文字列を作ってから出力することを考えます。

答えとなる文字列を \(T\) とします。 \(T\) の長さは \(2\times(Sの長さ)-1\) です。 \(T\)\(1,3,5,\dots\) 文字目は \(S\)\(1,2,3,\dots\) 文字目であり、\(T\)\(2,4,6,\dots\) 文字目は全て o です。for文を用いることで実際に \(T\) を構築することができます。

多くの言語では、文字列の添字は \(0\) から始まることに注意してください。

実装例 (C++)

#include<bits/stdc++.h>
using namespace std;

int main(){
  string s;
  cin >> s;
  int n=s.size();
  string t(2*n-1,' ');
  for(int i=0;i<n;i++)t[2*i]=s[i];
  for(int i=1;i<n;i++)t[2*i-1]='o';
  cout << t << endl;
}

pythonでは join メソッドを使うことで、簡潔に実装することもできます。

実装例 (Python)

S=input()
print("o".join(S))

posted:
last update: