프로그래머스 신규 아이디

DARTZ·2022년 6월 21일
0

알고리즘

목록 보기
92/135
import re

def solution(new_id):
    answer = new_id.lower()
    answer = re.sub('[^\w\-_.]', '', answer) # \w은 숫자 문자, \-_.은 문제 조건이고 여기에 매치 되지 않는 것은 '' (빈칸)으로 대체
    answer = re.sub('\.+', '.', answer) # .이 2번이상 반복
    answer = re.sub('^[.]|[.]$', '', answer) # ^은 해당 패턴으로 시작 $은 해당 패턴으로 끝나는 경우 ''으로 대체

    answer = 'a' if len(answer) == 0 else answer[:15]

    answer = re.sub('[.]$', '', answer)

    answer = answer if len(answer) > 2 else answer + (answer[-1] * (3-len(answer)))

    return answer

정규 표현식도 공부할겸 정규 표현식으로 풀었다. 이제 좀 정규 표현식에 대해서 익숙해진 것 같아서 뿌듯하다.

정규 표현식

profile
사람들이 비용을 지불하고 사용할 만큼 가치를 주는 서비스를 만들고 싶습니다.

0개의 댓글