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(void){
	
	for(int i=0; i<100; i++){
		string s;
		getline(cin, s);
		
		if(s.length()==0) break;
		
		int small=0, big=0, num=0, space=0;
		
		for(int j=0; j<s.length(); j++){
			if(s[j]==' ') space++;
			else if((s[j]-'0')/10<1) num++;
			else if((s[j]-'A')/26<1) big++;
			else if((s[j]-'a')/26<1) small++;
		}
		cout<<small<<' '<<big<<' '<<num<<' '<<space<<'\n';
	}
}
728x90

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

백준 11655번: ROT13  (0) 2020.03.16
백준 2765번: 단어 길이 재기  (0) 2020.03.16
백준 10809번: 알파벳 찾기  (0) 2020.03.16
백준 10808번: 알파벳 개수  (0) 2020.03.16
백준 10866번: 덱  (0) 2020.01.23