[2021 카카오 블라인드 테스트] 신규 아이디 추천

minjyo·2021년 9월 1일
0

알고리즘 풀이

목록 보기
4/7

문제

import re

def solution(new_id):
    # 1단계
    answer = new_id.lower()
    
    # 2단계
    answer = re.sub("[^\w\-\.]", "", answer) # answer이 바뀌는 것이 아니라 바뀐 문자열을 리턴
    
    # 3단계
    answer = re.sub("\.+", ".", answer)

    # 4단계
    answer = re.sub("^\.|\.$", "", answer)    
    
    # 5단계
    if answer == "":
        answer = "a"

    # 6단계
    if len(answer) >= 16:
        answer = answer[:15]
        answer = re.sub("^\.|\.$", "", answer)
        
    # 7단계
    length = len(answer) 
    if length <= 2:
        answer += answer[length-1] * (3 - length)
    
    return answer

참고

파이썬 정규식 개념 - https://wikidocs.net/4308#_4
파이썬 정규식 치환 - https://greeksharifa.github.io/%EC%A0%95%EA%B7%9C%ED%91%9C%ED%98%84%EC%8B%9D(re)/2018/08/04/regex-usage-05-intermediate/

profile
깊게 공부하는 개발자가 되기

0개의 댓글