본문 바로가기
백준/C

백준 1152번 : 단어의 개수 [C]

by 대니스 2022. 7. 24.

주소 : https://www.acmicpc.net/problem/1152

 

1152번: 단어의 개수

첫 줄에 영어 대소문자와 공백으로 이루어진 문자열이 주어진다. 이 문자열의 길이는 1,000,000을 넘지 않는다. 단어는 공백 한 개로 구분되며, 공백이 연속해서 나오는 경우는 없다. 또한 문자열

www.acmicpc.net

 

소스 코드 :

 

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<string.h>

int main() {
    int n = 1;
    char str[1000001];
    scanf("%[^\n]s", str);
    for(int i=0; i<strlen(str); i++)
        if(str[i] == ' ') n++;
    if(str[0] == ' ' && n) n--;
    if(str[strlen(str)-1] == ' ' && n) n--;
    printf("%d", n);
}

 

마무리 : 문제의 조건을 보면 문자열이 공백으로 시작하거나 끝날 수 있고 연속해서 나오는 경우가 없으므로 그에 맞게 if문을 사용하여 공백을 세서 단어의 개수를 출력한다.

 문제의 조건을 자세히 보지 못해서 틀리다가 해설을 봐서 이해를 하였다.

'백준 > C' 카테고리의 다른 글

백준 2675번 : 문자열 반복 [C]  (0) 2022.07.24
백준 2677번 : 숫자의 개수 [C]  (0) 2022.07.24
백준 10818번 : 최소, 최대 [C]  (0) 2022.07.24
백준 2884번 : 알람 시계 [C]  (0) 2022.07.24
백준 2562번 : 최댓값 [C]  (0) 2022.07.24