문제의 목표는 전달받은 문자열 s가 길이가 4 또는 6을 만족하고 숫자로만 이루어져 있는지를 확인하여 만족하면 True를 아니라면 False를 반환하면 된다.
예를 들어 s가 "12345"로 주어진다면 길이가 4 또는 6이 아니므로 False를 반환하고 "0000"으로 주어진다면 길이가 4이고 숫자로만 이루어져 있으므로 True를 반환하면 된다.
설계 및 구현
구현을 위해 주어진 함수는 조건을 확인할 문자열 s를 매개변수로 가지는 함수이다. 구현은 간단하다 문자열 s의 길이가 4 또는 6인지 확인하고 해당 조건을 만족한다면 문자열이 숫자로만 이루어져 있는지 확인하면 된다. 즉, 길이가 4 또는 5라는 조건과 숫자로만 이루어져 있다 라는 조건이 모두 참일경우에 True를 반환하고 둘 중 하나라도 만족하지 못한다면 False를 반환하면 된다. 따라서 and 연산자를 통해 두 가지 조건을 비교한다면 원하는 결과를 얻을 수 있다.
① s의 길이가 4 또는 6 인지 확인
② s가 숫자로만 이루어진 문자열인지 확인
③ 위 두가지 조건을 and 연산을 통해 둘 다 참이라면 True를 반환 아니면 False를 반환
①의 조건을 확인하기 위해 len함수를 통해 비교한다. ②의 조건을 위해 isdigit()함수를 사용하여 문자열이 숫자인지 확인한다. 이와 반대로 isalpha() 함수를 사용한다면 문자로만 이루어져 있는지 확인할 수 있다.
두 조건을 and 연산으로 묶어서 원하는 결과를 반환하여 해당 문제의 목표를 달성할 수 있었다.
채점또한 무리 없이 통과할 수 있다.
'알고리즘 > 프로그래머스' 카테고리의 다른 글
[python] 서울에서 김서방 찾기(연습문제) (0) | 2020.03.29 |
---|---|
[C++] 문자열 다루기 기본(연습문제) (0) | 2020.03.26 |
[C++] 문자열 내림차순으로 배치하기(연습문제) (0) | 2020.03.24 |
[python] 문자열 내림차순으로 배치하기(연습문제) (0) | 2020.03.24 |
[C++] 문자열 내 p와 y의 개수(연습문제) (0) | 2020.03.23 |
댓글