반응형
https://www.acmicpc.net/problem/2386
문제
꿍은 도비의 자유를 위해 영어를 가르치기로 결심했다. 하지만 도비는 바보라 ABC부터 배워야 한다.
그래서 꿍은 영어 문장과 알파벳 하나가 주어지면 그 알파벳이 문장에서 몇 번 나타나는지를 세는 문제들을 내주었다. 하지만 도비는 마법사고 컴공도 마법사다.
여러분은 도비를 위해 문제의 답을 알려주는 프로그램을 만들수 있을것이다!
입력
입력은 몇 개의 줄들로 이루어진다.
각 줄에는 하나의 소문자와 영어 문장이 공백으로 구분되어 주어진다.
각 문장은 길이가 1에서 250이며 입력의 마지막은 #이다.
출력
출력의 각 줄은 입력으로 주어진 소문자와 그 소문자 알파벳이 나타난 횟수로 이루어진다. 이때 문장에서 해당 알파벳이 소문자로 나타나던 대문자로 나타나던 모두 세야 한다.
예제 입력
g Programming Contest
n New Zealand
x This is quite a simple problem.
#
예제 출력
g 2
n 2
x 0
풀이
1. test caes가 주어지지 않으면 보통 while문으로 쓴다.
2. 문자열 길이 만큼 for문으로 돌려서 소문자와 문자열의 각각 문자가 맞는지 검사한다.
3. 문자열에 있는 문자들이 소문자(n)와 대문자(N)이 맞는지 검사한다.
코드
#include <iostream>
#include <string>
#include <cctype>
using namespace std;
int main() {
char ch;
string str;
while(1){
cin>>ch;
getline(cin, str);
if(ch=='#'){
break;
}
int len=str.length();
int cnt=0;
for(int i=0; i<len; i++){
if(str[i]==ch||str[i]==toupper(ch)){ // keypoint
cnt++;
}
}
cout<<ch<<" "<<cnt<<"\n";
}
}
|
cs |
topper를 쓰려면 헤더파일 <cctype>을 써야 한다.
반응형
'백준 > C++' 카테고리의 다른 글
[BaeKJoon/C++] 백준 2774 c++ 아름다운 수 (0) | 2022.02.05 |
---|---|
[BaeKJoon/C++] 백준 1100 c++ 하얀 칸 (0) | 2022.02.05 |
[BaeKJoon/C++] 백준 10101 c++ 삼각형 외우기 (0) | 2022.01.17 |
[BaeKJoon/C++] 백준 5026 c++ 박사 과정 (0) | 2022.01.17 |
[BaeKJoon/C++] 백준 2935 c++ 소음 (0) | 2022.01.08 |