DevKim

[Python] 2021 카카오 기출 - 신규 아이디 추천 본문

알고리즘 PS

[Python] 2021 카카오 기출 - 신규 아이디 추천

on_doing 2021. 2. 2. 21:25
728x90

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

 

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

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

programmers.co.kr

[문제 접근]

- 파이썬의 정규표현식 re를 이용해서 각 단계를 하나씩 한줄로 구현

 

[알고리즘]

- 문자열 처리 (구현)

 

 

[코드]

import re
def solution(new_id):
    answer = ''
    i=0
    
    #1단계
    new_id=new_id.lower()
        
    #2단계    
    new_id=re.sub("[^0-9a-z_.-]","",new_id) 
    
    #3단계
    new_id=re.sub("[.]{2,}",".",new_id)
   
    #4단계
    
    new_id=re.sub("^[.]","",new_id)
    new_id=re.sub("[.]$","",new_id)
    
    #5단계
    if len(new_id)==0:
        new_id+='a'
        
    #6단계
    if len(new_id)>=16:
        new_id=new_id[0:15]
    new_id=re.sub("[.]$","",new_id)
    
    #7단계
    
    if len(new_id)<=2 and len(new_id)>0:
        new_id=new_id+new_id[-1]*(3-len(new_id))    
            
            
    return new_id
728x90
Comments