문자열 - 문자열 다루기 기본

Updated:

C++

문자열 - 문자열 다루기 기본

문제

문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수, solution을 완성하세요. 예를 들어 s가 a234이면 False를 리턴하고 1234라면 True를 리턴하면 됩니다.

문제 출처

접근 방법

  1. 크기가 4 혹은 6인 문자열인지 체크한다.
  2. 이 문자열의 각 문자가 숫자인지 체크한다.

구현

각 문자가 숫자인지 체크하기 위해 아스키 코드를 사용하였다.

코드

#include <string>
#include <vector>
#include <iostream>

using namespace std;

bool solution(string s) {
    bool answer = false;
    if (s.length() == 4 || s.length() == 6) {       //문자열의 길이가 4 혹은 6인지 확인.
        answer = true;
        for (int i = 0; i < s.length(); i++) {
            if (s[i] < 48 || s[i] > 57) {           //아스키 코드로 숫자는 48 ~ 57 이므로, 이를 벗어난 문자는 숫자가 아니므로 false 후 break;
                answer = false;
                break;
            }
        }
    }
    return answer;
}

int main() {
    bool val = solution("12s463");
	cout << val;
    
	return 0;
}

후기 및 개선할 점

12분