문자열 다루기 기본
문제 설명
문자열 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
'코딩테스트 > Programmers' 카테고리의 다른 글
[코딩테스트/Programmers] 15_같은 숫자는 싫어 (Lv1.) (0) | 2022.01.10 |
---|---|
[코딩테스트/Programmers] 14_N개의 최소공배수 (Lv2.) (0) | 2022.01.04 |
[코딩테스트/Programmers] 12_문자열 내림차순으로 배치하기 (Lv1.) (0) | 2022.01.03 |
[코딩테스트/Programmers] 11_문자열 내 p와 y의 개수 (Lv1.) (0) | 2022.01.03 |
[코딩테스트/Programmers] 10_이상한 문자 만들기 (Lv1.) (0) | 2022.01.03 |