반응형
https://programmers.co.kr/learn/courses/30/lessons/72410
나의 풀이
import re
def solution(new_id):
new_id = new_id.lower()
new_id = re.sub('[~!@#$%^&*\(\)=+\[\{\]\}:?,\<\>\/]', '', new_id)
new_id = re.sub('\.+', '.', new_id)
new_id = new_id.strip('.')
new_id = 'a' if new_id == '' else new_id[:15]
new_id = new_id.strip('.')
while len(new_id) <= 2:
new_id = new_id + new_id[-1]
return new_id
다른 사람 풀이
import re
def solution(new_id):
st = new_id
st = st.lower()
st = re.sub('[^a-z0-9\-_.]', '', st)
st = re.sub('\.+', '.', st)
st = re.sub('^[.]|[.]$', '', st)
st = 'a' if len(st) == 0 else st[:15]
st = re.sub('^[.]|[.]$', '', st)
st = st if len(st) > 2 else st + "".join([st[-1] for i in range(3-len(st))])
return st
728x90
반응형
'개발 > Algorithm 문제 풀이' 카테고리의 다른 글
[프로그래머스] lv.2 피로도 (0) | 2022.07.10 |
---|---|
[프로그래머스] lv.2 양궁 대회 (0) | 2022.06.12 |
[프로그래머스] lv.1 부족한 금액 계산 (0) | 2022.05.24 |
[프로그래머스] lv2 괄호 변환 (0) | 2022.05.10 |
[프로그래머스] lv.2 더 맵게 (0) | 2022.05.10 |