728x90

https://programmers.co.kr/learn/courses/30/lessons/72410?language=python3 

 

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

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

programmers.co.kr

import re

def solution(new_id):
    s1 = new_id.lower()
    s2 = re.sub('[^a-z-_.0-9]','', s1)
    s3 = re.sub('(([.])\\2{1,})', '.', s2)
    
    
    if len(s3) >0 and s3[0] == ".":
        s3 = s3[1:]
        
    if len(s3) >0 and s3[len(s3)-1] == ".":
        s3 = s3[:len(s3)-1]
    
    if s3 == '':
        s3 = "a"
    
    if len(s3) >= 16:
        s5 = s3[:15]
    else:
        s5 = s3

    if s5[len(s5)-1] == ".":
        s6 = s5[:len(s5)-1]
    else:
        s6 = s5
        
    if len(s6) <= 2:
        while True:
            if len(s6) == 3:
                break
            s6 += s6[len(s6)-1]
    answer = s6
    
    return answer

 

반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기