하루에 하나-12

정인창·2021년 9월 21일
0

코딩테스트 연습

목록 보기
12/19

1. int()를 이용하기

def solution(s):
    if len(s) in [4, 6]:
        try:
            s = int(s)
            answer = True
        except ValueError:
            answer = False
    else:
        answer = False
    return answer
  • 계속 테스트 케이스 5, 6 번이 틀리길래 왜 그런가 이유를 파악해보니 맨 처음 조건 문자열의 길이가 4 혹은 6을 빼먹었습니다.....
  • 따라서, 4 or 6이라면 문자열 s를 int로 변환하고 된다면 answer는 True, ValueError라면 False!(문자열이 숫자만으로 이뤄진게 아니기 떄문)

2. 정규표현식 이용하기 with re

def solution(s):
    import re
    if len(s) in [4, 6]:
        if bool(re.findall('[a-zA-Z]', s)):
            answer = False
        else:
            answer = True
    else:
        answer = False
    return answer
  • re.findall()을 이용해 문자열을 찾고 bool()을 해줌
  • 문자열이 존재한다면 해당 문자열이 리스트에 담기기 때문에 bool()을 하면 True, 문자열이 없다면 비어있는 리스트 [] 이므로 False!
profile
Data science

0개의 댓글