Notice
Recent Posts
Recent Comments
Link
«   2025/08   »
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
Archives
Today
Total
관리 메뉴

코딩로그

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

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";
	}
}

[결과 화면]

'YJ > C++' 카테고리의 다른 글

[백준/BOJ/C++] 2966번 찍기  (0) 2021.12.31
[백준/BOJ/C++] 1864번 문어 숫자  (0) 2021.12.31
[백준/BOJ/C++] 1568번 새  (0) 2021.12.31
[백준/BOJ/C++] 1547번 공  (0) 2021.12.31
[백준/BOJ/C++] 2442번 별 찍기 - 5  (0) 2021.12.31