문자열 다루기 기본

 

 문제 설명

 

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

 

 제한 사항

 

  • s는 길이 1 이상, 길이 8 이하인 문자열입니다.

 

 입출력 예

 

s return
"a234" false
"1234" true

 

 Python 코드

 

def solution(s):

    if (len(s) == 4 or len(s) == 6) and s.isdigit():
        return True
    else:
        return False

 

* 참고 링크 : https://jeongchul.tistory.com/651

* isdigit ( ) 함수 : 문자열이 숫자로만 이루어져 있는지 확인하는 함수

- 문자가 단 하나라도 있다면 False를 반환하고, 모든 문자가 '숫자'로만 이루어져 있으면 True를 반환한다.

isdigit ( ) 함수는 string 클래스에 있는 메서드이다. 즉, 문자열.isdigit( ) 형태로 사용하는 메서드이다.

ex) str.isdigit()

a = "CodingTest" # 문자로만 이루어짐
b = "은하철도999" # 문자 + 숫자
c = "-999"       # 음수
d = "3.14"       # 소수점
e = "2022"       # 숫자

print(f"str.isdigit('{a}') : {str.isdigit(a)}")
print(f"str.isdigit('{b}') : {str.isdigit(b)}")
print(f"str.isdigit('{c}') : {str.isdigit(c)}")
print(f"str.isdigit('{d}') : {str.isdigit(d)}")
print(f"str.isdigit('{e}') : {str.isdigit(e)}")

print()

print(f"'{a}'.isdigit() : {a.isdigit()}")
print(f"'{b}'.isdigit() : {b.isdigit()}")
print(f"'{c}'.isdigit() : {c.isdigit()}")
print(f"'{d}'.isdigit() : {d.isdigit()}")
print(f"'{e}'.isdigit() : {e.isdigit()}")

 

 

* len() 함수 : 매개변수로 들어온 문자열의 길이를 반환

- 내부에 있는 문자의 갯수 및 공백을 포함한 카운팅을 하여 반환해주는 함수

- 문자열의 길이를 구할 때 용이

 
strlen = "HelloWorld"
 
print(len(strlen))
 
 
 
# 결과값 10

 

 C++ 코드

 

#include <string>
#include <vector>
//#include <cctype>
 
using namespace std;
 
bool solution(string s) 
{
    //1. 길이로 쳐낸다.
    const size_t length = s.length();
    if(length != 4 && length != 6)
    {
        return false;
    }
 
    //2. 문자가 있으면 쳐낸다.
    for(size_t i=0; i<length; ++i)
    {
        //if(!isdigit(s[i]))
        if(!(s[i] >= '0' && s[i] <= '9'))
        {
            return false;
        }
    }
 
    return true;
}

* 참고 링크 : https://blockdmask.tistory.com/280

+ Recent posts