아이디어
- 그냥 하라는대로 구현했다.
- 여러개의
'.'
을 '.'
하나로 치환하는 부분에서 replace
를 생각하긴 했으나 그냥
answer.replace('.', '')
를 하면 모든 '.'이 사라져서 어떻게 해야 하나 했는데
answer.replace('..', '.')
이렇게 하면 된다는 것을 배웠다.
'.'
이 2개 이상일 수 있으니 while문을 이용해서 '.'
하나만 남을 때까지 반복해준다.
코드
def solution(new_id):
answer = ''
impossible = '~!@#$%^&*()=+[{]}:?,<>/'
new_id = new_id.lower()
for char in new_id:
if char not in impossible:
answer += char
while '..' in answer:
answer = answer.replace('..', '.',)
answer = answer.strip('.')
if answer == '':
answer += 'a'
answer = answer[:15].rstrip('.')
n = len(answer)
if n <= 2:
answer += answer[-1] * (3 - n)
return answer