본문 바로가기
PS/programmers

[programmers] 2021 KAKAO BLIND : 신규 아이디 추천

by clolee 2021. 12. 1.

2021 KAKAO BLIND RECRUITMENT : 신규 아이디 추천

 

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

 

 

 

코드 

 

4단계 이전까지의 new_id 결과가 비어있을 수 있다. 이때 4단계를 진행하면 처음이나 끝 인덱스에 접근하여 index range error가 날 수 있다. 따라서 4단계에서 new_id 문자열이 비어있는지 아닌지 확인하는 조건을 추가하여 and 조건으로 같이 비교한다.

 

new_id = input()

def solution(new_id):
    answer = ''
    new_id = new_id.lower()
    for i in new_id:
        if i.islower() or i.isdecimal() or i == '-' or i == '_' or i == '.':
            pass
        else:
            new_id = new_id.replace(i, "")
    while ".." in new_id:
        new_id = new_id.replace("..", ".")
    if new_id and new_id[0] == ".":
        new_id = new_id[1:]
    if new_id and new_id[-1] == ".":
        new_id = new_id[:-1]
    if not new_id:
        new_id = "a"
    if len(new_id) > 15:
        new_id = new_id[:15]
        if new_id[-1] == ".":
            new_id = new_id[:-1]
    if len(new_id) < 3:
        while len(new_id) < 3:
            new_id += new_id[-1]
    answer = new_id
    
    return answer

print(solution(new_id))

 

 

댓글