상상쓰

[프로그래머스] 신규 아이디 추천 본문

Coding Test

[프로그래머스] 신규 아이디 추천

상상쓰 2021. 8. 19. 23:48

https://programmers.co.kr/learn/courses/30/lessons/72410

 

코딩테스트 연습 - 신규 아이디 추천

카카오에 입사한 신입 개발자 네오는 "카카오계정개발팀"에 배치되어, 카카오 서비스에 가입하는 유저들의 아이디를 생성하는 업무를 담당하게 되었습니다. "네오"에게 주어진 첫 업무는 새로

programmers.co.kr

 

파이썬 정규표현식 re 를 활용하여 1단계부터 7단계까지 순차적으로 answer 를 재정의한다.

ljust 함수로 길이가 3이 될 때까지 공백을 answer 의 마지막 문자로 채운다. 

 

import re

def solution(new_id):
    answer = new_id.lower()
    answer = re.sub('[^a-z0-9\-_.]', '', answer)
    answer = re.sub('\.+', '.', answer)
    answer = re.sub('^[.]|[.]$', '', answer)
    answer = 'a' if answer == '' else answer[:15]
    answer = re.sub('[.]$', '', answer)
    answer = answer if len(answer) > 2 else answer.ljust(3, answer[-1])    
    
    return answer

print(solution('...!@BaT#*..y.abcdefghijklm')) # bat.y.abcdefghi

 

참고 : 파이썬 정규표현식(re) 사용법

https://greeksharifa.github.io/%EC%A0%95%EA%B7%9C%ED%91%9C%ED%98%84%EC%8B%9D(re)/2018/07/20/regex-usage-01-basic/ 

 

Python, Machine & Deep Learning

Python, Machine Learning & Deep Learning

greeksharifa.github.io

 

Comments