문제
https://programmers.co.kr/learn/courses/30/lessons/72410#
코딩테스트 연습 - 신규 아이디 추천
카카오에 입사한 신입 개발자 네오는 "카카오계정개발팀"에 배치되어, 카카오 서비스에 가입하는 유저들의 아이디를 생성하는 업무를 담당하게 되었습니다. "네오"에게 주어진 첫 업무는 새로
programmers.co.kr
코드
import re
def solution(new_id):
#1단계
new_id = new_id.lower()
#2단계
new_id = re.sub('[^a-z0-9-_.]', '', new_id)
#3단계
while '..' in new_id:
new_id = new_id.replace("..", ".")
#4단계
if new_id[0] == "." and len(new_id) > 1:
new_id = new_id[1:]
if new_id[-1] == ".":
new_id = new_id[:-1]
#5단계
if len(new_id) == 0:
new_id += "a"
#6단계
if len(new_id) >= 16:
if new_id[14] == ".":
new_id = new_id[:14]
else:
new_id = new_id[:15]
#7단계
if len(new_id) <= 2:
while len(new_id) < 3:
new_id += new_id[-1]
return new_id
'⏳ 알고리즘 > python 알고리즘 문제 풀이' 카테고리의 다른 글
프로그래머스 - LV2. 예상 대진표(2017 팁스타운) (0) | 2021.06.11 |
---|---|
프로그래머스 - LV2. 오픈채팅방(카카오 2019 블라인드 채용) (0) | 2021.06.07 |
프로그래머스 - LV1. 키패드 누르기(카카오 2020 인턴쉽) (0) | 2021.06.04 |
리트코드 - 328. Odd Even Linked List (0) | 2021.05.11 |
리트코드 - 24. Swap Nodes in Pairs (0) | 2021.05.11 |