YJ/C++

[백준/BOJ/C++] 2386번 도비의 영어 공부

Team DAON 2021. 12. 31. 10:35

[문제]

꿍은 도비의 자유를 위해 영어를 가르치기로 결심했다. 하지만 도비는 바보라 ABC부터 배워야 한다.

그래서 꿍은 영어 문장과 알파벳 하나가 주어지면 그 알파벳이 문장에서 몇 번 나타나는지를 세는 문제들을 내주었다. 하지만 도비는 마법사고 컴공도 마법사다.

여러분은 도비를 위해 문제의 답을 알려주는 프로그램을 만들수 있을것이다!

[입력]

입력은 몇 개의 줄들로 이루어진다.

각 줄에는 하나의 소문자와 영어 문장이 공백으로 구분되어 주어진다.

각 문장은 길이가 1에서 250이며 입력의 마지막은 #이다.

[출력]

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

[Source Code]

#include <stdio.h>
#include <iostream>
#include <vector>
#include <string>
#include <algorithm>
#include <cmath>
using namespace std;

int change(char input){
	if(input == '-') return 0;
	else if(input == '\\') return 1;
	else if(input == '(') return 2;
	else if(input == '@') return 3;
	else if(input == '?') return 4;
	else if(input == '>') return 5;
	else if(input == '&') return 6;
	else if(input == '%') return 7;
	else if(input == '/') return -1;
}

int main() {
	while(true){
		char search;
		cin >> search;
		cin.ignore();
		if(search == '#') break;
		string input;
		getline(cin, input);

		int count = 0;
		for(int i = 0; i < input.length(); i++){
			if(input[i] == search || input[i] == search - 'A' + 'a' || input[i] == search - 'a' + 'A')
				count++;
		}
		cout << search << " " << count << "\n";
	}
}

[결과 화면]