전체 코드

    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
    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.