신규아이디 추천
-
오직 정규표현식으로만 풀이한 경우
import re
def convertToUpper(matchObj):
up_char = matchObj.group().lower()
return up_char
def solution(new_id):
#1단계
new_id = re.sub('[A-Z]', convertToUpper, new_id)
#2단계
new_id = re.sub('[^A-Za-z0-9-._]', '', new_id)
#3단계
new_id = re.sub('\.+', '.', new_id)
#4단계
new_id = re.sub('\A\.|\.\Z', '', new_id)
#5단계
if new_id == '':
new_id += 'a'
#6단계
new_id = re.sub('(?<=.{15}).+', '', new_id)
new_id = re.sub('\.\Z', '', new_id)
#7단계
while len(new_id) <= 2:
new_id = re.sub('.(?=\Z)', '\g<0>\g<0>', new_id)
return new_id
이렇게 정규표현식으로만 구성할 수 있고, 일부는 더 간단하게 할 수 있다.
-
다른 방법
-
1단계
new_id = new_id.lower()
-
2단계
deleteChar = ['-','_','.'] for i in new_id: if i.isalnum() is not True: if i not in deleteChar: new_id = new_id.replace(i, '')
-
6단계
while len(new_id) <= 2: new_id += new_id[-1]
-
CodingTest
👉 124 나라의 숫자 파이썬
2022.04.17
👉 핸드폰 번호 가리기
2021.10.20
👉 신규 아이디 추천
2021.10.19
👉 소수 만들기
2021.10.14
👉 zip과 행렬의 덧셈
2021.07.11
👉 자신을 제외한 배열의 곱
2021.06.13
👉 두 개의 연결 리스트 병합하여 나열
2021.06.12
👉 IntelliJ에서 파이썬 연결리스트 사용하기
2021.06.11
Level1
👉 124 나라의 숫자 파이썬
2022.04.17
👉 신규 아이디 추천
2021.10.19
👉 두 개의 연결 리스트 병합하여 나열
2021.06.12
👉 IntelliJ에서 파이썬 연결리스트 사용하기
2021.06.11
정규표현식
👉 124 나라의 숫자 파이썬
2022.04.17
👉 핸드폰 번호 가리기
2021.10.20
👉 신규 아이디 추천
2021.10.19
👉 String
2021.06.09
댓글 쓰기