주어진 문자열을 규칙에 맞게 변환하시오
1. 대문자 -> 소문자
2. 소문자, 숫자, '_', '.', '-' 제외한 문자는 제거
3. ..->.
4. 처음, 끝에 위치한 .는 제거
5. 빈문자열 = 'a'
6. 최대 길이 15자
16자 이상인 경우 첫 15문자 제외한 나머지 문자를 제거
제거 후 끝에 위치한 . 제거
7. 길이 2이하인 경우, 마지막 문자를 길이 3이 될 때까지 덧붙이기
def solution(new_id):
answer = ''
# 1. 대문자 -> 소문자
new_id = new_id.lower()
# 2. 소문자, 숫자, _, ., - 제외한 문자 제거
for char in new_id :
if char.isalnum() or char in '_.-':
answer += char
# 3. .. -> .
while '..' in answer : # 🔑'..'이 존재하지 않을 때까지 제거
answer = answer.replace('..','.')
# 4. 처음, 끝에 위치한 . 제거
answer= answer.strip('.')
# 5. 빈문자열 = 'a'
answer = 'a' if answer == '' else answer
# 6. 최대 길이 15자, 끝에 위치한 . 제거
if len(answer) > 15:
answer = answer[:15]
answer = answer.rstrip('.')
# 7. 길이 2 이하인 경우 3이 될때까지 맨 마지막 글자 추가
answer += answer[-1]*(3-len(answer))
return answer
text = 'aaa'
text = text.replace('a','')
print(text) # 'aaa' -> ''
# .과 &을 제외한 특수문자들을 지워야할 때
text = '=ab.,d&='
answer =''
for char in text :
if char.isalnum() or word in '.&':
answer += char
print(answer) # ='ab.,d&=' -> 'ab.d&'