안녕 세상아,

[c++] isdigit() (숫자 판별 함수) 본문

c++ 개념

[c++] isdigit() (숫자 판별 함수)

돈 많은 백수가 되고싶다 2024. 8. 5. 14:35

문자를 다룰 때 숫자인지 판별하기 위해 사용하는 함수이다. 

보통 문자열에서 해당 자리의 문자가 숫자인지 판별할 때 많이 사용된다. 

해당 문자가 숫자가 아닌 문자라면 숫자 0이 출력되기 때문에 false가 출력되고, 만약 숫자로 변환이 가능한 문자라면 0이 아닌 숫자가 나오기 때문에 true가 출력된다. 

#include <string>
#include <vector>
using namespace std;

bool solution(string s) {
    bool answer = true;

    for (int i = 0; i < s.size(); i++)
    {
        if (!isdigit(s[i])){
        	answer = false;
            	break;
        }
    }

    return s.size() == 4 || s.size() == 6 ? answer : false;
}

위의 예는 프로그래머스에 있는 문제인데, 만약 문자 중 하나라도 정수가 아니라면 answer은 false가 되고 break되고 끝난다.