문제 링크 https://programmers.co.kr/learn/courses/30/lessons/12918

문제

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

제한 조건

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

풀이 과정

여기서 실수할 수 있는 점은 숫자는 0부터 시작한다는 것이다!
1부터 시작하지 않도록 조심해야된다!

문자열 안에 있는 숫자들을 카운트 해주고, 문자열의 길이와 숫자 카운트한 것과
같으면 answer을 true로 바꿔준다.

#include <string>
#include <vector>

using namespace std;

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

    if(s.size() == 4 || s.size() == 6){
        int cnt = 0;
        for(int i = 0; i < s.size(); i++){
            if('0' <= s[i] && s[i] <= '9') cnt++;
        }
        if(cnt == s.size()) answer = true;
    }

    return answer;
}

댓글남기기