주어진 조건에 맞추어서 하나씩 풀이하면 된다.
stage3가 조금 애를 먹었었는데, 처음에는 시간초과가 났었던 것 같은데 지금은 잘 풀리는 것 같다?
Stage2를 조금 비효율적으로 짰었는데, isalnum()이랑 필요한 문자열만 담아두면 훨씬 쉽게 풀이가 가능한 것 같다.
def solution(new_id):
temp = new_id.lower() # 1 lower
#2
answer = ""
for letter in temp:
if letter.isalnum() or letter in ["_","-","."]:
answer += letter
#3
while ".." in answer:
answer = answer.replace("..",".")
#4
if len(answer) >0 and answer[0] == ".":
answer = answer[1:]
if len(answer) >0 and answer[-1] == ".":
answer = answer[:-1]
#5
if answer == "":
answer = "a"
#6
if len(answer) >= 16:
answer = answer[:15]
if answer[-1] == ".":
answer = answer[:-1]
#7
while len(answer) < 3:
answer += answer[-1]
return answer