본문 바로가기

코딩 문제/프로그래머스

[프로그래머스] 신규 아이디 추천 (python)

문제링크

https://programmers.co.kr/learn/courses/30/lessons/72410

 

코딩테스트 연습 - 신규 아이디 추천

카카오에 입사한 신입 개발자 네오는 "카카오계정개발팀"에 배치되어, 카카오 서비스에 가입하는 유저들의 아이디를 생성하는 업무를 담당하게 되었습니다. "네오"에게 주어진 첫 업무는 새로

programmers.co.kr

 


내풀이

import re

def solution(new_id):
    s = new_id[:]
    # 1
    s = s.lower()
    # 2
    s = re.sub("[^a-z0-9-_.]","",s)
    # 3
    s = re.sub("\.+",".",s)
    # 4
    s = re.sub("^\.|\.$","",s)
    # 5
    if s == "": s = "a"
    # 6-1
    if len(s) >= 16: s = s[:15]
    # 6-2
    s = re.sub("\.$","",s)
    # 7
    while len(s) < 3: s = s + s[-1]
    
    return s

피드백

정규식 표현 유용노트에 정리(다른 블로그 스크랩 했음)