[Python] 프로그래머스 - Level1 - 신규 아이디 추천

강주형·2022년 8월 7일
0

https://school.programmers.co.kr/learn/courses/30/lessons/72410
2021 KAKAO BLIND RECRUITMENT

import re

def solution(new_id):
    new_id = new_id.lower()
    new_id = re.sub('[^a-z0-9-_.]', '', new_id)
    new_id = re.sub('\.+', '.', new_id)
    new_id = re.sub('^[.]|[.]$', '', new_id)
    new_id = re.sub('^$', 'a', new_id)
    new_id = new_id[:15]
    new_id = re.sub('\.$', '', new_id)
    if len(new_id) <= 2:
        new_id = new_id+new_id[-1]*abs(len(new_id)-3)
    return new_id

딱봐도 정규표현식 쓰라는 문제인 거 같아서 다른 건 최대한 안 쓰고 정규표현식 찾아보면서 풀었음
근데 정규표현식 너무 어려움

마지막(7단계)에 조건문은
길이가 2일 때는 1번 반복, 1일 때는 2번 반복하기 위해 저렇게 절댓값 사용했음


  1. 정규표현식 틈틈히 공부하기
profile
Statistics & Data Science

0개의 댓글