競技プログラミング用 知識集積所

ABC402A - CBC

最終更新:

Bot(ページ名リンク)

- view
管理者のみ編集可


問題


必要知識


考え方

まずは入力内容を確認。
入力内容は文字列Sが1つ与えられるだけなので、string型の変数を用意してcinで入力を受け取る。

次に、文字列の中身を1文字ずつ確認したいので、forループで前から順にi文字目を確認。
文字列の長さがないと繰り返し回数がわからないので、あらかじめ.size()を使って長さを調べておく。

大文字である判定は、char型の大小関係を利用して
if (S.at(i)<='Z') {
  大文字である場合のコード
}
で行える。
あらかじめ空文字列を用意しておき、大文字だったものを順次そこに書き足していくことで出力用の文字列を生成できる。
最後に忘れずにcoutで出力しておしまい。

解答例


注意点


別解

範囲for文(未作成)を使う

この問題は、文字列の長さが与えられないところに1つハードルがある。
しかし、普通のforループではなく範囲for文を使うと、この問題を回避できる。
解答例

isupper()関数を使う

大文字判定はisupper()関数(未作成)を用いても可能。
解答例
ウィキ募集バナー