import re
def solution(new_id):
answer = ''
# 1단계 & 2단계 : 소문자 치환
answer = re.sub('[^a-z\d\-\_\.]', '', new_id.lower())
# 3단계 : 마침표 2번 이상 > 하나로
answer = re.sub('\.\.+', '.', answer)
# 4단계 : 양 끝 마침표 제거
answer = re.sub('^\.|\.$', '', answer)
# 5단계 : 빈 문자열이면 a 대입
if answer == '':
answer = 'a'
# 6단계 : 길이가 16자 이상이면 1~15자만 남기기 & 맨 끝 마침표 제거
answer = re.sub('\.$', '', answer[0:15])
# 7단계 : 길이가 3이 될 때까지 반복해서 끝에 붙이기
while len(answer) < 3:
answer += answer[-1:]
return answer
📌참고: https://mizykk.tistory.com/116