본문 바로가기
개발/Algorithm 문제 풀이

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

by DenverAlmighty 2022. 5. 24.
반응형

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

 

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

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

programmers.co.kr

 

나의 풀이

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
반응형