본문 바로가기
Algorithm/BOJ

[BOJ]10820번: 문자열 분석(c++)

by HBGB 2020. 4. 25.

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

 

10820번: 문자열 분석

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

www.acmicpc.net

 

 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#include <iostream>
#include <string>
 
using namespace std;
 
int main()
{
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);
 
    string input;
    while (getline(cin, input))
    {
        int lower = 0;
        int upper = 0;
        int number = 0;
        int space = 0;
 
        for (char ch : input)
        {
            if ('a' <= ch && ch <= 'z')
            {
                lower++;
            }
            else if ('A' <= ch && ch <= 'Z')
            {
                upper++;
            }
            else if ('0' <= ch && ch <= '9')
            {
                number++;
            }
            else if (ch == ' ')
            {
                space++;
            }
        }
 
        cout << lower << ' ' << upper << ' ' << number << ' ' << space << '\n';
    }
 
    return 0;
}
Colored by Color Scripter

 

 

처음에는 배열을 선언해서 카운팅 했는데,

따로 변수를 선언해주는게 가독성이 좋은것 같다.

'Algorithm > BOJ' 카테고리의 다른 글

[BOJ]11656번: 접미사 배열(c++)  (0) 2020.04.25
[BOJ]11655번: ROT13(c++)  (0) 2020.04.25
[BOJ]10808번: 알파벳 개수(c++)  (0) 2020.04.24
[BOJ]10809번: 알파벳 찾기(c++)  (0) 2020.04.24
[BOJ]1918번: 후위 표기식(c++)  (0) 2020.04.24

댓글