알고리즘 & 자료구조/코딩테스트
[프로그래머스] 문자열 다루기 기본 (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
반응형