문자열 다루기 기본-파이썬(Python) [프로그래머스/코딩테스트 연습/Lv.1]

2022. 10. 6. 01:12·Algorithm, 코딩테스트
728x90
반응형

문제

https://school.programmers.co.kr/learn/courses/30/lessons/12918?language=python3

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

 

문제 설명


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

제한 사항

  • s는 길이 1 이상, 길이 8 이하인 문자열입니다.
  • s는 영문 알파벳 대소문자 또는 0부터 9까지 숫자로 이루어져 있습니다.

입출력 예

s return
"a234" false
"1234" true

풀이

def solution(s):
    if len(s)!=4 and len(s)!=6:
        return False
    for i in s:
        if i<'0' or i>'9':
            return False
    return True

설명

먼저 문자열의 길이가 4도 아니고 6도 아니면 False를 반환한다.

그리고 for문을 통해 s의 각 글자가 '0' 보다 작거나 혹은 '9'보다 크면 False를 반환한다. (글자가 숫자라면 ['0','9'] 범위 안에 존재해야 한다.)

이후 True를 반환한다. (모든 조건 충족)

 

Tip (아래 "더보기" 클릭)

더보기

이렇게도 가능하다.

def solution(s):
    if not(len(s)==4 or len(s)==6):
        return False
    for i in s:
        if not (i>='0' and i<='9'):
            return False
    return True

이렇게 코드를 작성하면 코드를 읽는 사람이 조건을 이해하기는 더 쉽다. 그러나 맨 위에서 작성한 코드와 비교했을 때 if문에서 not 연산을 한 번 더 실행해야 하므로 시간은 조금 더 걸릴 것이다.

 

*더 짧게는 이렇게도 가능하다.

def solution(s):
    return (len(s)==4 or len(s)==6) and s.isdigit()

TIL

없음

728x90
반응형
저작자표시 비영리 (새창열림)

'Algorithm, 코딩테스트' 카테고리의 다른 글

행렬의 덧셈-파이썬(Python) [프로그래머스/코딩테스트 연습/Lv.1]  (0) 2022.10.06
약수의 개수와 덧셈-파이썬(Python) [프로그래머스/코딩테스트 연습/Lv.1]  (0) 2022.10.06
수박수박수박수박수박수?-파이썬(Python) [프로그래머스/코딩테스트 연습/Lv.1]  (0) 2022.10.06
문자열 내림차순으로 배치하기-파이썬(Python) [프로그래머스/코딩테스트 연습/Lv.1]  (0) 2022.10.03
내적-파이썬(Python) [프로그래머스/코딩테스트 연습/Lv.1]  (0) 2022.10.03
'Algorithm, 코딩테스트' 카테고리의 다른 글
  • 행렬의 덧셈-파이썬(Python) [프로그래머스/코딩테스트 연습/Lv.1]
  • 약수의 개수와 덧셈-파이썬(Python) [프로그래머스/코딩테스트 연습/Lv.1]
  • 수박수박수박수박수박수?-파이썬(Python) [프로그래머스/코딩테스트 연습/Lv.1]
  • 문자열 내림차순으로 배치하기-파이썬(Python) [프로그래머스/코딩테스트 연습/Lv.1]
20mini
20mini
개발 공부를 하며 알게 된 내용들을 기록한 블로그입니다. 댓글로 조언, 지적, 충고 등 다양한 의견들 항상 환영합니다!!
    반응형
    250x250
  • 20mini
    해시태그코딩 #coding
    20mini
  • 전체
    오늘
    어제
    • 분류 전체보기 (94)
      • Python (1)
      • Algorithm, 코딩테스트 (82)
      • Machine Learning (8)
      • 논문 리뷰 (0)
      • 그 외 공부 관련 (2)
      • 기타 (1)
  • 인기 글

  • 태그

    hash
    lv.2
    lv.3
    완전탐색
    Python
    프로그래머스
    코딩테스트
    알고리즘
    lv.1
    Machine Learning
  • 최근 댓글

  • hELLO· Designed By정상우.v4.10.3
20mini
문자열 다루기 기본-파이썬(Python) [프로그래머스/코딩테스트 연습/Lv.1]
상단으로

티스토리툴바