Study hard
(c++)백준 10820번: 문자열 분석 본문
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 |