문제

문자열 다루기 기본

프로그래머스 level 1 문제

문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수, solution을 완성하세요. 예를 들어 s가 a234이면 False를 리턴하고 1234라면 True를 리턴하면 됩니다.

제한 사항

  • s는 길이 1 이상, 길이 8 이하인 문자열입니다.

입출력 예

s return
a234 false
1234 true

리뷰

길이 제한을 처리해주고, 전부 문자인지 확인하면 된다.

제출 후 다른 코드를 보니까 숫자인지 확인하는 isdigit() 함수를 쓴 분이 있었다.

isdigit()은 char 타입을 입력받는다.

10진수 숫자로 변경 가능하면 true, 그렇지않다면 0을 반환한다.

#include <cctype>

int isdigit(int c);

isdigit()

코드

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

bool solution(string s) {

    bool answer = true;
     int i = 0;
     int s_len = s.length();

     if(s_len != 4 && s_len != 6){
         return false;
    }

     for(i = 0; i < s_len; i++){
        if(s[i] > 57 || s[i] < 48 ){
            answer = false;
            break;
        }     
    }

    return answer;
}

도움이 되셨다면 '공감'을 눌러주세요 :)
728x90

'알고리즘 > 프로그래머스' 카테고리의 다른 글

문자열 내 마음대로 정렬하기  (0) 2020.07.17
시저 암호  (0) 2020.07.17
다리를 지나는 트럭  (0) 2020.07.16
소수찾기 (에라토스테네스의 체)  (0) 2020.07.16
쇠막대기  (0) 2020.07.15

+ Recent posts