[프로그래머스/C++] ㅡ LV1 - 문자열 다루기 기본

2021. 3. 19. 20:19필요/코딩테스트(프로그래머스)

문제

programmers.co.kr/learn/courses/30/lessons/12918

 

코딩테스트 연습 - 문자열 다루기 기본

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

programmers.co.kr

풀이

#include <string>

using namespace std;

bool solution(string s) {
    bool answer = true;
    if (s.size() == 4 || s.size() == 6 ) {	// 사이즈가 4나 6인 경우
        for (int i=0; i<s.size(); i++) {
                if (s[i] < '0' || s[i] > '9') {	// 숫자가 아닌 경우
                    answer = false;
                    break;
            }
        }
    }
    else {
        answer = false;
    }
    return answer;
}

풀이

answer의 default 값을 true로 지정했다.

그리고 조건을 만족하지 않는 경우만 false로 값을 변경하는 방식으로 진행했다.

if 문을 사용하여 false인 경우를 나누는데, 일단 size가 4나 6이 아니면 바로 false가 된다.

그 뒤 문자열의 요소들이 숫자가 아닌 경우 또 false로 변경한다.