본문 바로가기
프로그래머스/C

[프로그래머스/C]프로그래머스 Level 1 : 문자열 다루기 기본 C언어

by starfish22 2021. 12. 14.
728x90

▶문제 : 코딩 테스트 연습 - 문자열 다루기 기본 | 프로그래머스 (programmers.co.kr)

 

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

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

programmers.co.kr

 

▶코드 작성

#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>
#include <string.h>

// 파라미터로 주어지는 문자열은 const로 주어집니다. 변경하려면 문자열을 복사해서 사용하세요.
bool solution(const char *s)
{
    if (strlen(s) == 4 || strlen(s) == 6)//길이가 4 또는 6일 때
    {
        int i;
        for (i = 0; i < strlen(s); i++)
        {
            if (s[i] < '0' || s[i] > '9')//숫자가 아닐 때 종료
            {
                break;
            }
        }
        if (i == strlen(s)) return true;//반복문이 끝까지 가면 숫자만 있는 문자열이므로 true
    }
    return false;//위 조건이 안맞으면 false
}

 

▶해석

문자열 길이가 4 또는 6인지 확인한 후 반복문을 이용하여 문자열 하나씩 숫자가 아닌지 확인한 후 아니라면 반복문을 종료한다. 변수 i가 반복문으로 끝까지 i++ 한다면 숫자만 있다는 것이고 strlen(s)과 값이 같으므로 true를 return 한다.

728x90

댓글