발자취

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

코딩테스트/Daily Coding (C, C++)

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

해린 2024. 7. 25. 00:57

2024. 07. 25 - 코딩테스트 스터디 Day52

 
 

01. 문제 설명

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

 
 

02. 제한사항

  • s는 길이 1 이상, 길이 8 이하인 문자열입니다.
  • s는 영문 알파벳 대소문자 또는 0부터 9까지 숫자로 이루어져 있습니다.

 
 

03. 입출력 예

sreturn
"a234"false
"1234"true

 
 

04. 풀이 및 답

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

// 파라미터로 주어지는 문자열은 const로 주어집니다. 변경하려면 문자열을 복사해서 사용하세요.
bool solution(const char* s) {
    int len = strlen(s);
    
    if (len != 4 && len != 6) return false;
    
    for (int i = 0; i < len; i++) {
        if (s[i] < '0' || s[i] > '9') return false;
    }
    
    return true;
}

문자열 s의 길이가 4 혹은 6이 아니면 false를 반환한다.
문자열 s의 각 자리 요소 중 숫자가 아닌 것이 있다면 false를 반환한다.
위 두 조건에 모두 해당되지 않는다면 true를 반환한다.
 
 

정답!