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를 리턴하게 해주었다.
'프로그래머스 > C++' 카테고리의 다른 글
[level 1] 문자열 내 마음대로 정렬하기 (2) | 2018.08.30 |
---|---|
[level 1] 정수 내림차순으로 배치하기 (0) | 2018.08.24 |
[level 1] 자연수 뒤집어 배열로 만들기 (0) | 2018.08.23 |
[level 1] 2016년 (0) | 2018.08.19 |
[level 1] 같은 숫자는 싫어 (0) | 2018.08.18 |