알고리즘 (JAVA)/프로그래머스 알고리즘

[코테준비 - python] 신규 아이디 추천 level1 - 개발자 배찌

개발자 배찌 2022. 12. 15. 20:20
728x90

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

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

 

성공한 나의 코드

def solution(new_id):
    answer = ''
    
    #1단계
    new_id = new_id.lower()
    
    #2단계
    for i in new_id :
        if i.isdigit() or i.islower() or i in "-_.":
            answer += i
            new_id = answer

    #3단계
    while '..' in new_id : 
        new_id = new_id.replace('..', '.')
    
    #4단계
    new_id = new_id.strip('.')
    
    #5단계
    if len(new_id) == 0 :
        new_id = 'a'
        
    #6단계
    if len(new_id) >= 16 :
        new_id = new_id[:15]
        if new_id[-1] == '.' :
            new_id = new_id[:-1]
    
    #7단계
    if len(new_id) <=2 :
        new_id += new_id[-1]
        if len(new_id) <=2 :
            new_id += new_id[-1]
    
    answer = new_id
    
    return answer