-
[프로그래머스] 문자열 다루기 기본 (C++)알고리즘 & 자료구조/코딩테스트 2021. 2. 5. 21:10
문제 설명
문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수, solution을 완성하세요. 예를 들어 s가 a234이면 False를 리턴하고 1234라면 True를 리턴하면 됩니다.
제한 사항
- s는 길이 1 이상, 길이 8 이하인 문자열입니다.
입출력 예
s return
a234 false 1234 true 더보기본인 같은 경우는 문자열의 길이를 먼저 확인해주고,
아스키 코드를 이용해서 범위를 정해주어 확인해줬다.
#include <iostream> #include <string> #include <vector> using namespace std; bool solution(string s) { bool answer = true; if(s.length() != 4 && s.length() != 6) { answer = false; return answer; } else { for(int i = 0; i < s.length(); i++) { if((int)s[i] < 48 || (int)s[i] > 57) { answer = false; break; } } } return answer; } int main(void) { }
다른 사람의 코드중 유용해 보이는 코드
더보기헤더파일
C++ : <cctype>
Syntax
int isdigit(int c);
(int c) 는 판별할 문자
매개변수로 들어온 값이 10진수 숫자로 변경이 가능하면 0이 아닌 숫자(true), 아니면 0(false)를 반환하는 함수라고 한다.
#include <string> #include <vector> #include <locale> #include <iostream> using namespace std; bool solution(string s) { if(s.size() != 4 && s.size() != 6 ){ return false; } for( int i=0; i < s.size(); i++){ if (isdigit(s[i]) == false) return false; } return true; }
728x90반응형'알고리즘 & 자료구조 > 코딩테스트' 카테고리의 다른 글
[프로그래머스] 나누어 떨어지는 숫자 배열 (C++) (0) 2021.02.06 [프로그래머스]두 정수 사이의 합(C++) (0) 2021.02.06 [프로그래머스] 같은 숫자는 싫어! (C++) (0) 2021.02.03 [프로그래머스] 가운데 글자 가져오기 (0) 2021.02.03 [프로그래머스]K번째 수 (C++) (0) 2021.02.01