본문 바로가기

Algorithm & SQL/Programmers

[Programmers] [Python] 문자열 다루기 기본

문자열 다루기 기본


문제 설명


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

제한 사항


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

입출력 예


s return
"a234" false
"1234" true

제출코드


def solution(s):
   if len(s)==4 or len(s)==6:
       if s.isdigit():
           return True
   return False

코드 설명


매우 간단한 문제이다.

우선적으로 인자로 전달받은 문자열 s의 길이가 4 또는 6인지 검증하고

만일 맞다면, string내장 함수 isdigit()을 이용해 문자열 s가 오직 숫자로만 이루어져 있는지 확인하여 적절한 값을 반환하도록한다.

다른 사람의 풀이


def solution(s):
   return s.isdigit() and len(s) in (4,6)

and조건을 이용해 반환값을 가공하였다.

s의 내장 메서드인 isdigit()을 이용해 문자열이 숫자로만 이루어져 있는지 확인하고 in을 이용해 문자열의 길이가 4 또는 6인지 확인하여 둘 다 참일 경우에만 True를 반환하도록 하였다.

len(s)를 일종의 변수로 활용하여 조건을 검증하였다. 이와 같이 함수를 통한 반환값을 변수로 응용한다는 개념은

익히 알고 있지만 이러한 방식으로 응용할 생각은 하지 못했다..

( 역시 풀고 난 뒤 남의 코드를 보는것은 정말 유익하다! )