C 문제 풀이

C언어 2020. 12. 30. 19:40
/* 문제
문자열 변수에 "pPddeeeYedpfffdyY" 대입
문자열의 문자중 p,y(대소문자 구분없이)의 개수가 같은면 true를 리턴
두개의 값이 개수가 다르면 false를 리턴하시오.
단p,y의 개수가 둘다 0일 경우 true를 리턴하고 리턴된 값을 프린트 하시오. */

#include <iostream>
#include <stdbool.h> // bool 헤더

bool ppd(){ // bool 함수 생성, 변수 이름은 아무렇게나 해도 상관 없음
    char *a= "pPddeeeYedpfffdyY"; // *a에 값을 저장
    
    int p = 0; // p값 초기화
    int y = 0; // y값 초기화
    
    for (int i = 0; i <= strlen(a); i++) { // i 선언 및 초기화, a의 길이 만큼 i 반복
        if (a[i] == 'p' || a[i] == 'P') { // a에서 p와 P를 찾음
            p++;
        }
    
        else if (a[i] == 'y' || a[i] == 'Y') { // y와 Y 찾기
            y++;
        }
    }
    if (p == y) { // p와 y가 같다면
        return true; // true 값 반환
    }
    else if (p != y) { // p와 y가 다르다면
        return false; // false값 반환
    }
    return true;
}

int main(int argc, const char * argv[]) {
    bool b; // bool 함수 b로 선언
    b = ppd(); // bool 함수 불러오기
    printf("결과 값 : %d \n", b);
    return 0;
}

'C언어' 카테고리의 다른 글

조건과 분기  (0) 2020.12.16
이중 반복문  (0) 2020.12.14
반복문 for, while, do while  (0) 2020.12.14
++  (0) 2020.12.14
Printf와 Scanf  (0) 2020.12.14
Posted by khon98
,