Programers : 문자 / 숫자 판별

김정욱·2021년 1월 19일
0

Algorithm - 문제

목록 보기
41/249

공백 / 문자 판별

  • 해당 문제는 숫자인지 판별하는 문제이며 <cctype>isdigit()을 사용해 판별
  • 공백인지 판별하기 위해서는 역시 <cctype>isspace()를 사용한다
  • 추가로, 내가 받은 문자열숫자인지 / 문자들만 있는지 확인하기 위해 atoi()를 사용하면 된다
    string s1 = "대한민국";
    string s2 = "-123";
    string s3 = "456";
    string s4 = "0";

    /* string.c_str()은 string을 c언어 스타일의 char* 으로 만들어 주는 것 ! */
    cout << atoi(s1.c_str()) << endl; // 0
    cout << atoi(s2.c_str()) << endl; // -123
    cout << atoi(s3.c_str()) << endl; // 456

    /* 0도 숫자인데 결과가 0이 나오기 때문에 이 부분은 예외처리를 해줘야 한다 */
    cout << atoi(s4.c_str()) << endl; // 0
    cout << (atoi(s4.c_str()) != 0 || s4.compare("0") == 0) << endl; 

코드

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

bool solution(string s) {
    if(s.length() != 4 && s.length() != 6) return false;
    for(auto a : s){
      //if(a < '0' || a > '9') return false;
        if(!isdigit(a)) return false;
    }
    return true;
}
profile
Developer & PhotoGrapher

0개의 댓글