백준 c++/(1-1)백준 c++ 알고리즘 기초

백준 10820 c++ 문자열 분석

현구구 2022. 8. 6. 13:44

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

 

10820번: 문자열 분석

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

www.acmicpc.net


문제

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

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

입력

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

출력

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


#include <iostream>
#include <string>

using namespace std;

int main()
{
	string s;
	while (getline(cin,s))
	{
		int a = 0;
		int b = 0;
		int c = 0;
		int d = 0;

		for (int i = 0; i < s.size(); i++)
		{
			if (s[i] == ' ')
			{
				d++;
			}
			if (s[i] >= '0' && s[i] <= '9')
			{
				c++;
			}if (s[i] >= 'a' && s[i] <= 'z')
			{
				a++;
			}if (s[i] >= 'A' && s[i] <= 'Z')
			{
				b++;
			}
		}
		cout << a << ' ' << b << ' ' << c << ' ' << d << '\n';
	}
}