def solution(new_id):
new_id = first(new_id)
new_id = second(new_id)
new_id = third(new_id)
new_id = fourth(new_id)
new_id = fifth(new_id)
new_id = sixth(new_id)
new_id = seventh(new_id)
return new_id
def first(new_id):
return new_id.lower()
def second(new_id):
for ele in new_id:
if ele.isalnum() or ele == "-" or ele == "_" or ele == ".":
continue
else:
new_id = new_id.replace(ele,"")
return new_id
def third(new_id):
while ".." in new_id:
new_id = new_id.replace("..",".")
return new_id
def fourth(new_id):
if new_id[0] == ".":
new_id = new_id[1:]
elif new_id[-1] == ".":
new_id = new_id[:-1]
return new_id
def fifth(new_id):
if len(new_id) == 0:
return "a"
else:
return new_id
def sixth(new_id):
if len(new_id) >= 16:
new_id = new_id[:15]
print(new_id)
return new_id[:-1] if new_id[-1] == "." else new_id
def seventh(new_id):
if len(new_id) <= 2:
while len(new_id) < 3:
new_id += new_id[-1]
return new_id
다음 단계들은 문제에서 주어진대로 풀어나가면 된다.
import re
def solution(new_id):
st = new_id
st = st.lower()
st = re.sub('[^a-z0-9\-_.]', '', st)
st = re.sub('\.+', '.', st)
st = re.sub('^[.]|[.]$', '', st)
st = 'a' if len(st) == 0 else st[:15]
st = re.sub('^[.]|[.]$', '', st)
st = st if len(st) > 2 else st + "".join([st[-1] for i in range(3-len(st))])
return st