Official
A - A Editorial
by
A - A Editorial
by
KumaTachiRen
AtCoder をはじめたばかりで何をしたらよいか分からない方は、まずは practice contest の問題 A「Welcome to AtCoder」を解いてみてください。基本的な入出力の方法が載っています。
また、プログラミングコンテストの問題に慣れていない方は、AtCoder Beginners Selection の問題をいくつか解いてみることをおすすめします。
様々な実装方針が考えられます。実装例を参考にしてください。 ページの下部ではリンク先の実装例をいくつか抜粋して掲載しています。
- 文字列を一文字ずつ書き換える:実装例(C++)
- 一文字ずつ答えを出力する:実装例(C++) / 実装例(Python)
- 答えの文字列を別途構築する:実装例(C++) / 実装例(Python)
- (発展)標準ライブラリの文字列・列操作を利用する:実装例(C++, replace_if) / 実装例(Python, 正規表現)
(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:
