백준 algorithm

백준 10820 - 문자열 분석

cosmohoo 2020. 3. 10. 02:26
반응형

문제 설명 

 

 

 

=> string을 분석하면 되는 문제이다. 

=> string의 길이가 0일때의 예외처리를 해주지 않으면 틀렸다고 한다. 이 부분을 유의해서 풀어야한다. 

 

 

#include <iostream>
#include <string>

using namespace std;

int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(nullptr);
    cout.tie(nullptr);
    int arr[4]={0}; // Small, Big, number, " "
    int cnt=0;
    
    string s;
    while(cnt<100)
    {
        cin.clear();
        getline(cin, s);
        
        if(s.length() == 0)break;
        for(int i=0; i<s.length(); ++i)
        {
            if(s[i]>='a' && s[i]<='z')//Small letter
                arr[0]++;
            else if(s[i]>='A' && s[i] <='Z')
                arr[1]++;
            else if(s[i]>='0' && s[i] <='9')
                arr[2]++;
            else if(s[i] ==' ')
                arr[3]++;
        }
        
        for(int i=0; i<4; ++i)
        {
            cout<<arr[i]<< " ";
            arr[i]=0;
        }
        cout<<'\n';
        cnt++;
    }
    return 0;
}

반응형