問題
英小文字と数字からなる文字列 が入力される。
は 2023
で終わることが保証される。
このとき、 の最後の文字を 4
に変更し、変更後の文字列を出力せよ。
入力
1行に、文字列 が与えられる。
条件
- 実行時間制限: 2s
- メモリ制限: 1024MB
- は英小文字と数字からなり、
2023
で終わる文字列である。
出力
答えを1行で出力すること。
解法
この問題は、文字列 の最後の文字を 4
に変更する問題です。
文字列 の長さを とすると、例えばC++での std::string
では 0-index であることから、
\begin{align}
s = {s}_{0} \, {s}_{1} \, {s}_{2} \, \cdots \, {s}_{n - 1}
\end{align}
として管理されています。
従って、与えられた に対して、 '4'
として更新し、更新後の を出力することで、この問題は解くことができます。
ソースコード
main()
関数の中に、答えを出力する部分を直接実装しました。
int main() { string s; cin >> s; // 値の入力 int n = s.length(); // s.length() で s の長さを取ることができる s[n - 1] = '4'; // s[n - 1] を '4' に更新する(このとき、 s[i] が char 型であることに注意する) cout << s << endl; // 更新された s を出力する return 0; }