線形探索法の応用!
問題概要
英文字からなる文字列 が与えられる。
この文字列 には、1 個だけ英大文字があり、残りはすべて英小文字である。
この英大文字が先頭から何番目の文字であるかを求めよ。
考えたこと
for
文を用いて、各 に対して、文字 S[i]
が英大文字であるかどうかを判定していき、英大文字であるような を答えれば良い。
なお、C++ では文字列の先頭の文字を 0 番目とみなすことに注意しよう。つまり、for
文を用いて S[i]
が英大文字であるような i
を見つけたとき、i+1
の値を答えれば良い。
コード
#include <bits/stdc++.h> using namespace std; int main() { string S; cin >> S; for (int i = 0; i < S.size(); i++) { if (isupper(S[i])) { cout << i+1 << endl; return 0; } } }