Official

A - A Editorial by KumaTachiRen


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


様々な実装方針が考えられます。実装例を参考にしてください。 ページの下部ではリンク先の実装例をいくつか抜粋して掲載しています。

(C++) 文字列を一文字ずつ書き換える

#include <bits/stdc++.h>
using namespace std;
int main() {
  string S;
  cin >> S;
  for (int i = 0; i < S.size(); i++)
    if (S[i] != 'A')
      S[i] = '.';
  /*
  範囲 for 文を利用すれば以下のようにも書ける
  for (char& c : S)
    if (c != 'A')
      c = '.';
  */
  cout << S << endl;
}

(Python) 一文字ずつ答えを出力する

S = input()
for c in S:
  # 以下は print("A" if c == "A" else ".", end="") とも書ける
  if c == "A":
    print("A", end="")
  else:
    print(".", end="")

(C++) 答えの文字列を別途構築する

#include <bits/stdc++.h>
using namespace std;
int main() {
  string S;
  cin >> S;
  string T = "";
  for (char c : S)
    // 以下は T += c == 'A' ? 'A' : '.' とも書ける
    if (c == 'A')
      T += 'A';
    else
      T += '.';
  cout << T << endl;
}

(Python) 答えの文字列を別途構築する

S = input()
# リスト内包表記と join を組み合わせる
print("".join("A" if c == "A" else "." for c in S))

posted:
last update: