더북(TheBook)

전체 코드

4장/신규_아이디_추천.py

def solution(new_id):
    #1
    answer = new_id.lower()
    #2
    filtered = []
    for c in answer:
        if c.isalpha() or c.isdigit() or c in ('-', '_', '.'):
            filtered.append(c)
    answer = ''.join(filtered)
    #3
    while '..' in answer:
        answer = answer.replace('..', '.')  #replace는 가장 먼저 발견된 것만 수정하니까!
    #4
    answer = answer.strip('.')
    #5
    if answer == '': answer = 'a'
    #6
    if len(answer) > 15: answer = answer[:15]
    if answer[-1] == '.': answer = answer[:-1]
    #7
    while len(answer) < 3: 
        answer += answer[-1]     #문자열 더하기 비용이 높지 않으므로 이 정도는 가능

    return answer
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.