Study hard

(c++)백준 10820번: 문자열 분석 본문

백준/여러가지 문제들

(c++)백준 10820번: 문자열 분석

Nimgnoej 2020. 6. 12. 23:25

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

 

10820번: 문자열 분석

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

www.acmicpc.net

[풀이]

입력받는 문자열에 공백도 포함시켜야 하기 때문에 getline(cin, S)를 사용하였다. (S는 string)

int형 배열 Info[4]에 소문자, 대문자, 숫자, 공백이 나올 때마다 +1 해 주었다.

 

#include <iostream>
#include <string>
using namespace std;

int Info[4];//0:소문자, 1:대문자, 2:숫자, 3:공백

void init() {
	for (int i = 0; i < 4; i++)
		Info[i] = 0;
}

void solution() {
	string S;
	while (getline(cin, S)) {
		init();
		for (int i = 0; i < S.size(); i++) {
			//소문자일 때
			if (S[i] >= 97 && S[i] <= 122)
				Info[0]++;
			//대문자일 때
			if (S[i] >= 65 && S[i] <= 90)
				Info[1]++;
			//숫자일 때
			if (S[i] >= 48 && S[i] <= 57)
				Info[2]++;
			//공백일 때
			if (S[i] == ' ')
				Info[3]++;
		}
		for (int j = 0; j < 4; j++) {
			cout << Info[j] << ' ';
		}
		cout << '\n';
	}
}

int main() {
	solution();
	return 0;
}

'백준 > 여러가지 문제들' 카테고리의 다른 글

(c++)백준 10824번: 네 수  (0) 2020.06.13
(c++)백준 11655번: ROT13  (0) 2020.06.13
(c++)백준 10809번: 알파벳 찾기  (0) 2020.06.12
(c++)백준 10808번: 알파벳 개수  (0) 2020.06.12
(c++)백준 10866번: 덱  (0) 2020.06.12