👨‍🏫ps/❄️프로그래머스

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

peacekim 2023. 3. 14. 21:43
반응형

문제

단계 별로 구현하면 되는 간단한 구현 문제이다.

코드

def solution(new_id):
    answer = ''
    # 1단계
    new_id = new_id.lower()
    # 2단계
    canIncludeWord = ['-', '_', '.']
    newId = ""
    for i in range(len(new_id)):
        # 문자인지
        if new_id[i].isalpha() or new_id[i].isnumeric() or new_id[i] in canIncludeWord:
            newId += new_id[i]
    
    
    # 3단계
    
    while ".." in newId:
        newId = newId.replace("..", ".")
        
    # 4단계
    newId4 = newId
    if len(newId4) != 0 and newId4[-1] == '.':
        newId4 = newId4[:-1]
    if len(newId4) != 0 and newId4[0] == '.':
        newId4 = newId4[1:]
        
    # 5단계
    newId5 = newId4
    if len(newId5) == 0:
        newId5 = "a"
    
    # 6단계
    newId6 = newId5
    if len(newId6) >= 16:
        newId6 = newId6[:15]
    if newId6[-1] == '.':
        newId6 = newId6[:-1]
            
    # 7단계
    answer = newId6
    while len(answer) <= 2:
        answer += newId6[-1]
    return answer
반응형