#2386: 도비의 영어 공부
문제:
꿍은 도비의 자유를 위해 영어를 가르치기로 결심했다. 하지만 도비는 바보라 ABC부터 배워야 한다.
그래서 꿍은 영어 문장과 알파벳 하나가 주어지면 그 알파벳이 문장에서 몇 번 나타나는지를 세는 문제들을 내주었다. 하지만 도비는 마법사고 컴공도 마법사다.
여러분은 도비를 위해 문제의 답을 알려주는 프로그램을 만들수 있을것이다!
입력:
입력은 몇 개의 줄들로 이루어진다.
각 줄에는 하나의 소문자와 영어 문장이 공백으로 구분되어 주어진다.
각 문장은 길이가 1에서 250이며 입력의 마지막은 #이다.
풀이:
모든 데이터 인풋을 하나씩 훑으면서 일치하는 character가 있을 때 마다 카운터를 올리면 된다.
코드:
#include <stdio.h>
#include <ctype.h>
using namespace std;
int main(void){
char character;
char sentence[251];
int counter = 0;
int numofSentence = 0;
char charAnswer[1000];
int intAnswer[1000];
while(character != '#'){
scanf("%c", &character);
if(character == '#'){
break;
}
scanf("%[^\n]%*c", &sentence);
for(int i = 0; i < 251; i++){
if(sentence[i] == NULL){
break;
}
else if(tolower(sentence[i]) == character){
counter++;
}
}
charAnswer[numofSentence] = character;
intAnswer[numofSentence] = counter;
numofSentence++;
counter = 0;
}
for(int i = 0; i < numofSentence; i++){
printf("%c %d\n", charAnswer[i], intAnswer[i]);
}
}
Leave a comment