본문 바로가기
프로그래머스/C++

[level 1] 문자열 다루기 기본

by AsCE_hyunseung 2018. 8. 23.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <string>
#include <vector>
 
using namespace std;
 
bool solution(string s) {
 
    if (s.length() != 4 && s.length() != 6)
    {
        return false;
    }
    for (int i = 0; i < s.length(); i++)
    {
        if (48 > s[i] || s[i] > 57)
        {
            return false;
        }
    }
    return true;
}
cs


문제 설명

문자열 s의 길이가 4혹은 6이고, 숫자로만 구성되있는지 확인해주는 함수, solution을 완성하세요.

예를들어 s가 a234이면 False를 리턴하고 1234라면 True를 리턴하면 됩니다.


제한 사항

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


s의 길이가 4, 6이 아니면 조건에 부합하지 않기 때문에 반복문을 미리 돌릴 필요가 없어서  if문으로 한번 걸러주었다.

아스키코드 48은 0이고 57은 9이다. 그러므로 0~9가 아닌 아스키 코드 값이 문자열 s내에 하나라도 있으면 false를 리턴하게 해주었다.