티스토리 뷰

반응형
시간 제한 메모리 제한 제출 정답 맞은 사람 정답 비율
1 초 256 MB 1428 585 501 42.747%

문제

문자열 N개가 주어진다. 이 때, 문자열에 포함되어 있는 소문자, 대문자, 숫자, 공백의 개수를 구하는 프로그램을 작성하시오.

각 문자열은 알파벳 소문자, 대문자, 숫자, 공백으로만 이루어져 있다.

입력

첫째 줄부터 N번째 줄까지 문자열이 주어진다. (1 ≤ N ≤ 100) 문자열의 길이는 100을 넘지 않는다.

출력

첫째 줄부터 N번째 줄까지 각각의 문자열에 대해서 소문자, 대문자, 숫자, 공백의 개수를 공백으로 구분해 출력한다.

예제 입력 

This is String SPACE    1    SPACE  S a M p L e I n P u T      0L1A2S3T4L5I6N7E8 

예제 출력 

10 2 0 2 0 10 1 8 5 6 0 16 0 8 9 0 

힌트

 

출처

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

//소문자, 대문자, 숫자, 공백의 개수
int main()
{
    char n[101];
    int big, sm, sp, num, length, i;

    while(gets(n) != '\0')
    {
        length = strlen(n);
        big = 0; sm = 0; sp = 0; num = 0;
        
        for(i = 0; i < length; i++)
        {
            if(n[i] >= 65 && n[i] <= 90) // big
            {
                big++;
            }
            else if (n[i] >= 97 && n[i] <= 122) // small
            {
                sm++;
            }
            else if (n[i] == 32) // space
            {
                sp++;
            }
            else if (n[i] >= 47 && n[i] <= 57) // num
            {
                num++;
            }
        }
        
        printf("%d %d %d %d\n", sm, big, num, sp);
    }
}

 

https://www.acmicpc.net/problem/10820

댓글

티스토리 방명록

최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday