白駿1152単語の数.cpp



ソースコード
#include <iostream>
#include <string>
using namespace std;
int main(){
    string s;
    int cnt = 0; //단어의 개수
    getline(cin, s); //getline(cin, str) :공백이 포함된 문자열 입력
    if(s.length() == 1 && s[0] == ' '){
    	cout << 0 << endl;
    	return 0;
    }
    for(int i = 0; i < s.length(); i++){
        if(s[i] == ' '){
            if(i == 0 || i == s.length()-1){
        		continue;
            }
            cnt++;
        }
    }
    cout << cnt+1 << endl;
    return 0;
}
  • 変数
    string s:入力する文字列
    int cnt:単語数
  • アルゴリズム
  • のスペースを含む文字列を入力するには、getline(cin,s)を使用して入力を受け入れます.
  • で入力された文字列がスペースのみで構成されている場合(「」)、単語がないため除外されます.
  • のスペースに遭遇した場合、最初のスペースと最後のスペースでなければ、単語の数を増やすことができます.
  • の最後のスペースの後に、出現する単語数を加えてcnt+1を出力します.
  • で学んだこと
    getline(cin,s):スペースを含む文字列
  • を受信するために使用される
  • 残念と感じ
    アルゴリズムを作る部分は簡単ですが、反例を探してみたいです!これからは反例も自分で見つけて解き明かさなければならない.最も反例を見つけやすい方法は、できるだけ様々なテストケースを試してみることだけです.その過程を煩わさず、直接反例を探して解決すれば、実力も達成感も上がる!