프로그래머스/lv1

프로그래머스 : 문자열 다루기 기본(lv1) c++

TIN9 2022. 11. 14.
반응형

프로그래머스 링크

https://school.programmers.co.kr/learn/courses/30/lessons/12918

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

문제 설명

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

제한 사항
  • s는 길이 1 이상, 길이 8 이하인 문자열입니다.
  • s는 영문 알파벳 대소문자 또는 0부터 9까지 숫자로 이루어져 있습니다.
입출력 예
s return
"a234" false
"1234" true

코드

#include <string>

using namespace std;

bool solution(string s) {
    
    // 문제 설명에 문자열의 s길이가 4 혹은 6일때만이라고 적혀있기 때문에
    // 4, 6이 아니라면 return false처리 해줌
    if(s.length() != 4 && s.length() != 6)
    {
        return false;
    }

    // 길이를 반복문으로 돌면서 인덱스값이 'A'보다 크다면 숫자로만 이루어진게 아니기 때문에
    // return false를 리턴한다
    for(size_t i = 0; i < s.length(); ++i)
    {
        if(s[i] >= 'A')
        {
            return false;
        }
    }

    // 여기까지 왔다면 숫자로만 이루어져있다는 의미이므로 return true
    return true;
}

어려운 부분은 없으므로 주석 이외의 설명은 패스!!

논리 연산자랑 반복문을 통해 인덱스 접근만 이용하면 쉽게 풀이가 가능하다.

반응형

댓글