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 |