#1152
[문제]
[코드]
#include <stdio.h>
#include <string.h>
int main() {
int len;
int cnt = 0;
char str[1000000];
scanf("%[^\n]", str);
len = strlen(str);
if (len == 1) {
if (str[0] == ' ') {
printf("0\n");
return 0;
}
}
for (int i = 0; i < len - 1; i++) {
if (str[i] == ' ' && i != 0) cnt++;
}
printf("%d\n", cnt + 1);
return 0;
}
[설명]
입력받을 문자열 str, 문자열의 길이 len, 단어의 개수를 나타낼 cnt를 선언해준다.
scanf로 문자열 str을 입력 받는데, 여기서 입력받을 문자열에 공백 등이 들어가므로 %[^\n] 포멧형을 이용해서 엔터 전까지의 내용을 저장해준다.
입력받은 문자열의 길이가 1이고 공백일 경우 0을 출력해준다. (return 0;은 0을 출력하고 정상 종료를 위해 넣어주었다.)
문자열을 처음부터 끝까지 훑으면서 문자가 공백이고 i가 0이 아닐 경우 cnt값에 +1을 해준다.
이런식으로 한 뒤 최종적으로 cnt값에 +1을 한 값을 출력하면 원하는 값을 얻을 수 있다.
'C > Baekjoon' 카테고리의 다른 글
[BOJ] SISS 겨울방학 스터디 - 4주차 (0) | 2022.01.22 |
---|---|
[BOJ] SISS 겨울방학 스터디 - 3주차 (0) | 2022.01.14 |
[BOJ] SISS 겨울방학 스터디 - 2주차 (0) | 2022.01.08 |
[BOJ] 1주차 - #1157 (0) | 2022.01.02 |
[BOJ] 1주차 - #1330 (0) | 2022.01.02 |
댓글