Official
A - delete . Editorial
by
A - delete . Editorial
by
sounansya
初心者の方へ
- プログラミングの学習を始めたばかりで何から手をつけるべきかわからない方は、まずは practice contest の問題A「Welcome to AtCoder」をお試しください。言語ごとに解答例が掲載されています。
- また、プログラミングコンテストの問題に慣れていない方は、 AtCoder Beginners Selection の問題をいくつか試すことをおすすめします。
- C++入門 AtCoder Programming Guide for beginners (APG4b) は、競技プログラミングのための C++ 入門用コンテンツです。
- Python入門 AtCoder Programming Guide for beginners (APG4bPython) は、競技プログラミングのための Python 入門用コンテンツです。
以下の順に操作を行うと、 \(T\) が求める文字列となります。
- \(T\) を空文字列とする。
- \(S\) の文字を順番に見ていき、
.
でないなら \(T\) の末尾に連結する、という操作を繰り返す。
例えば \(S=\) a.c.
なら以下のように \(T\) が生成されます:
- \(T\) を空文字列とする。
- \(S\) の \(1\) 文字目は
a
なので、 \(T\) の末尾に連結する。 \(T=\)a
になる。 - \(S\) の \(2\) 文字目は
.
なので、何もしない。 \(T=\)a
のままである。 - \(S\) の \(3\) 文字目は
c
なので、 \(T\) の末尾に連結する。 \(T=\)ac
になる。 - \(S\) の \(4\) 文字目は
.
なので、何もしない。 \(T=\)ac
のままである。 - 最終的に \(T=\)
ac
となり、これが答えとなる。
この手順をプログラムで実装した例は、以下に記載しています。
S = input()
T = ""
for c in S:
if c != '.':
T += c
print(T)
#include <iostream>
#include <string>
using namespace std;
int main() {
string s;
cin >> s;
string t;
for (char c : s) {
if (c != '.') {
t += c;
}
}
cout << t << endl;
return 0;
}
また、プログラミング言語によっては for 文を使わずにより簡潔に書くことができます。
print(input().replace('.', ''))
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
int main() {
string s;
cin >> s;
s.erase(remove(s.begin(), s.end(), '.'), s.end());
cout << s << endl;
return 0;
}
posted:
last update: