문자열 다루기 기본
문제 설명
문자열 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 |