白駿アルゴリズム1152回
4536 ワード
文字数
問題を解く
1.英語の大文字と小文字からなる文字列を指定します.長さ1000001
2.文字列をチェックするときにスペースに遭遇した場合は?wordcnt変数++
こんなに簡単だと思った.
△まだ2つの問題があります.
二つのケース
最初のスペースが
その部分について例外処理を行った
(理解してくれてありがとう…)従ってscanf("%[^n],str);このような入力が届きました(慣れるには長い時間がかかります)
42ソウルの時、mascanf、printfから離れていて、write関数しか実現していなかったので、思いもよらなかった!
#include <stdio.h>
#include<string.h>
int main(void)
{
char str[1000001];
int wordcnt = 1;
scanf ("%[^\n]", str); //맘에 안 들지만 사용해야함
for(int i =0; i< strlen(str); i++)
{
if (str[i] == ' ')
wordcnt++;
}
if(str[0] == ' ')
wordcnt--; //첫번째 예외 - 첫번째 단어가 공백일 때 wordcnt 하나 감소
if(str[strlen(str)-1] == ' ')
wordcnt--; //두번째 예외 - 마지막 단어가 공백일 때 wordcnt 하나 감소
printf("%d", wordcnt);
return 0;
}
Reference
この問題について(白駿アルゴリズム1152回), 我々は、より多くの情報をここで見つけました https://velog.io/@spolice/백준-알고리즘-1152번テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol