반응형
[문과 코린이의 IT 기록장] C++ 백준 문제풀이 - 문자열 분석 (10820)
[ 문제 ]
문자열 N개가 주어진다. 이때, 문자열에 포함되어 있는 소문자, 대문자, 숫자, 공백의 개수를 구하는 프로그램을 작성하시오.
각 문자열은 알파벳 소문자, 대문자, 숫자, 공백으로만 이루어져 있다.
[ 입력 ]
첫째 줄부터 N번째 줄까지 문자열이 주어진다. (1 ≤ N ≤ 100) 문자열의 길이는 100을 넘지 않는다.
[ 출력 ]
첫째 줄부터 N번째 줄까지 각각의 문자열에 대해서 소문자, 대문자, 숫자, 공백의 개수를 공백으로 구분해 출력한다.
[ 코드 ]
#include<iostream>
#include<algorithm>
#include<string>
using namespace std;
int main() {
string S; // 문자열
while (getline(cin, S)) // 문자열 입력 (공백 포함)
{
int arr[4] = { 0 }; // 소문자, 대문자, 숫자, 공백
for (int i = 0; i < S.length(); i++)
{
if ('a' <= S[i] && S[i] <= 'z')
{
arr[0]++;
}
else if ('A' <= S[i] && S[i] <= 'Z')
{
arr[1]++;
}
else if ('0' <= S[i] && S[i] <= '9')
{
arr[2]++;
}
else if (S[i] == ' ')
{
arr[3]++;
}
}
for (int i = 0; i < 4; i++)
{
cout << arr[i] << ' ';
}
cout << '\n';
}
return 0;
}
반응형
'문과 코린이의, [C. C++] 기록 > C++ 백준 문제풀이' 카테고리의 다른 글
[문과 코린이의 IT 기록장] C++ 백준 문제풀이 - 진법 변환 (2745) (0) | 2021.07.29 |
---|---|
[문과 코린이의 IT 기록장] C++ 백준 문제풀이 - 진법 변환 2 (11005) (0) | 2021.07.29 |
[문과 코린이의 IT 기록장] C++ 백준 문제풀이 - 네 수 (10824) (0) | 2021.07.29 |
[문과 코린이의 IT 기록장] C++ 백준 문제풀이 - ROT13 (11655) (0) | 2021.07.29 |
[문과 코린이의 IT 기록장] C++ 백준 문제풀이 - 단어 길이 재기 (2743) (0) | 2021.07.29 |