본문 바로가기

CodeUp

C언어)CodeUp 1414 [C언어를 찾아라]

문제 설명

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

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

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

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

입력

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

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

출력

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

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

입력 예시   예시 복사

cCCc

출력 예시

4 3

도움말

CC”는 44개, “CCCC”는 “cCcC”, “CCCC”, “CcCc”와 같이 33개가 존재하므로 44, 33을 출력한다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <stdio.h>    
#include <string.h>
 
int main() {
    char a[100= { 0 }, b[100= { 0 }, c[100= { 0 };
    scanf("%s", a);
    int len = strlen(a), cnt1 = 0, cnt2=0;
    for (int i = 0;i < len;i++) {
        if (a[i] == 'c' || a[i] == 'C')
            cnt1++;
    }
    for (int i = 0; i < len; i++)
    {
        if (a[i] == 'c' && a[i + 1== 'c')
            cnt2++;
        if (a[i] == 'c' && a[i + 1== 'C')
            cnt2++;
        if (a[i] == 'C' && a[i + 1== 'c')
            cnt2++;
        if (a[i] == 'C' && a[i + 1== 'C')
            cnt2++;
    }
    printf("%d\n%d", cnt1, cnt2);
}
http://colorscripter.com/info#e" target="_blank" style="color:#4f4f4ftext-decoration:none">Colored by Color Scripter
http://colorscripter.com/info#e" target="_blank" style="text-decoration:none;color:white">cs

문제 풀이 방법 : 모범소스가 아닌 나의 소스이다. 간결하지 않을 수 있지만 문제 해결은 가능하다.


/*스크롤 인디케이터 시작*/ .header { position: absolute; top: 0; z-index: 1; width: 100%; background-color: #fff; } .progress-container { width: 100%; height: 4px; background: #f6f6f6; } .progress-bar { height: 4px; background: #6C6C6C; width: 0%; } /*스크롤 인디케이터 종료*/ /*왼쪽, 좌측 밑의 이미지 추가 시작*/ /*가로의 길이가 1510일때까지는 보여라*/ @media screen and (min-width:1500px) { .main_ad { display:visible; position: absolute; left: 0px; bottom: 80px; cursor: pointer; z-index: 11; } } /*가로의 길이가 1511일까지는 보이지 말아라*/ @media screen and (max-width:1510px) { .main_ad { display:none; position: absolute; left: 0px; bottom: 80px; cursor: pointer; z-index: 11; } } /*왼쪽, 좌측 밑의 이미지 추가 종료*/ /*이웃추가버튼 추가 시작*/ @media screen and (min-width:500px) { .add_adBanner { display:visible; } } @media screen and (max-width:510px) { .add_adBanner { display:none; } } .add_adBanner ul { position: absolute; left: 10px; bottom: 22px; cursor: pointer; z-index: 12; } .add_adBanner li { margin : 0 0 0 0; padding : 0 0 0 0; border : 0; float : left; } /*이웃추가버튼 추가 종료*/