본문 바로가기

Algorithm/String

(C++) - 백준(BOJ)코딩 2386번 : 도비의 영어 공부

반응형

www.acmicpc.net/problem/2386

 

2386번: 도비의 영어 공부

출력의 각 줄은 입력으로 주어진 소문자와 그 소문자 알파벳이 나타난 횟수로 이루어진다. 이때 문장에서 해당 알파벳이 소문자로 나타나던 대문자로 나타나던 모두 세야 한다.

www.acmicpc.net

간단한 알파벳 세기(문자열 처리) 문제였습니다.

 

풀이방법

 getline으로 한 줄 씩 입력 받고 필요한 알파벳 개수를 세줍니다.

 

Code

#include <iostream>
#include <string>
using namespace std;
int main()
{
    char c;
    string k;
    while (1)
    {
        int cnt = 0;
        cin >> c;
        if (c == '#') { return 0; }
        getline(cin, k);
        for (int i = 0; i < k.size(); i++)
        {
            if ('A' <= c && c <= 'Z')
            {
                if (k[i] == c || k[i] == c + 32)
                    cnt++;
            }
            else if ('a'<= c && c <= 'z')
            {
                if (k[i] == c || k[i] == c - 32)
                    cnt++;
            }
        }
        cout << c << ' ' << cnt << '\n';
    }
}