문제
프로그래머스 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);
코드
#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 |