Computer/Algorithm

Daily Algorithm - C언어를 찾아라

kentakang 2018. 4. 8. 20:41
반응형

문제

길이가 100 이하인 문자열로 구성된 암호문을 발견하였다.

이 암호문은 예전에 작성된 것으로 판단된다.

이 문자열에서 “C”라는 문자와 “CC”라는 문자가 몇 개 있는지 조사하고자 한다.

길이가 100 이하인 문자열을 입력받아, "C"라는 문자와 "CC"라는 문자가 각각 몇 개 존재하는지 알아내는 프로그램을 작성하시오. (단, C, CC는 대소문자를 구분하지 않는다. 즉, "cC"는 "CC"와 같다.)

입력

① 첫 번째 줄에 길이가 100 이하인 문자열이 입력된다. 문자는 모두 대문자 또는 소문자로 이루어진다.

② 대소문자의 구분이 없으므로 “C”는 2가지 경우, “CC”는 모두 서로 다른 4가지경우가 각각 존재할 수 있다.

출력

① 첫 번째 줄에는 문자열에서 찾은 “C”의 개수를 출력한다.

② 두 번째 줄에는 문자열에서 찾은 “CC”의 개수를 출력한다.

예제 입력

cCCc

예제 출력

4

3

풀이


#include <stdio.h>
#include <string.h>

int main()
{
char str[100];
int cCnt = 0, ccCnt = 0;
scanf("%s", str);

for (int i = 0; i < strlen(str); i++)
{
if (str[i] == 'c' || str[i] == 'C')
{
cCnt++;
}

if (i != strlen(str) - 1)
{
if ((str[i] == 'c' || str[i] == 'C') && (str[i + 1] == 'c' || str[i + 1] == 'C'))
ccCnt++;
}
}

printf("%d\n%d", cCnt, ccCnt);
}


문제 출처 : http://codeup.kr/JudgeOnline/problem.php?id=1414



반응형