import re
def solution(new_id):
# 1. 소문자로 변환
new_id = new_id.lower()
# 2. 특수문자 제거
new_id = re.sub('[^a-z0-9\.\_\-]','',new_id)
# 3. 마침표가 연속인 부분 치환
new_id = re.sub('\.\.+', '.', new_id)
# 4. 마침표가 처음이나 끝에 위치하면 제거
new_id = re.sub('^\.|\.$', '', new_id)
# 5. 빈 문자열이면 "a" 대입
if new_id == "" :
new_id = "a"
# 6. 15자 이하로 맞추기
if len(new_id) > 15 :
new_id = re.sub('\.$', '', new_id[0:15])
# 7. 2자 이하이면 마지막 문자 반복
for i in range(3) :
if len(new_id) < 3 :
new_id = new_id + new_id[-1]
answer = new_id
return answer
정규표현식을 잘 알고있다면 어렵지 않은 문제 !
난 정규 표현식을 더 공부해야겠다고 느낀 문제였다 ^..ㅜ
'Algorithm > Programmers' 카테고리의 다른 글
[Python] 가운데 글자 가져오기 (0) | 2021.04.06 |
---|---|
[Python] 모의고사 (0) | 2021.04.06 |
[Python] 크레인 인형 뽑기 게임 (0) | 2021.04.05 |
[Python] 두 개 뽑아서 더하기 (0) | 2021.04.04 |
[Python] 기본 수학 1 (0) | 2021.02.11 |