https://www.acmicpc.net/problem/1152
1152번: 단어의 개수
첫 줄에 영어 대소문자와 띄어쓰기로 이루어진 문자열이 주어진다. 이 문자열의 길이는 1,000,000을 넘지 않는다. 단어는 띄어쓰기 한 개로 구분되며, 공백이 연속해서 나오는 경우는 없다. 또한 문자열의 앞과 뒤에는 공백이 있을 수도 있다.
www.acmicpc.net
#include <stdio.h>
#define MAX 1000001 // 문장의 길이(1000000) + 1 (널문자)
int main(int argc, char* argv[]){
char str[MAX]; // 입력받은 문자열 저장
int num = 1; // 단어 갯수
int i = 0;
gets(str); // 띄어쓰기 포함해서 받기 위해서 gets() 사용
while(str[i] != '\0'){
if (str[i] == ' ' && str[i+1] != '\0') // 문장 맨뒤에 띄어쓰기 할 경우를 방지
num++;
i++;
}
if (str[0] == '\0' || str[0] == ' ') // 아무것도 입력하지 않거나 맨 앞에 공백을 입력한 경우
num--;
printf("%d\n", num);
return 0;
}
'Coding > 백준 온라인 저지 (Baekjoon Online Judge)' 카테고리의 다른 글
백준 온라인 저지 (Baekjoon Online Judge) - 2438번: 별 찍기 - 1 (0) | 2019.12.21 |
---|---|
백준 온라인 저지 (Baekjoon Online Judge) - 1330번: 두 수 비교하기 (0) | 2019.12.21 |
백준 온라인 저지 (Baekjoon Online Judge) - 1009번: 분산처리 (0) | 2019.12.21 |
백준 온라인 저지 (Baekjoon Online Judge) - 2869번 : 달팽이는 올라가고 싶다 (0) | 2019.12.16 |
백준 온라인 저지 (Baekjoon Online Judge) - 2902번 : KMP는 왜 KMP일까? (0) | 2019.12.16 |