신규 아이디 추천

bird.j·2021년 10월 12일
0

프로그래머스

목록 보기
39/53

프로그래머스

def solution(new_id):
    new_id = new_id.lower() #1단계
    #2단계
    new = ''
    for n in new_id:
        if n.isalnum() or n in ['-', '_', '.']:
            new += n
    new_id = new
    #3단계
    while '..' in new_id:
        new_id = new_id.replace('..', '.') 
    #4단계
    if new_id[0] == '.':
        new_id = new_id[1:]
    if len(new_id) > 1 and new_id[-1] == '.':
        new_id = new_id[:-1]
    #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:
        while len(new_id) < 3:
            new_id += new_id[-1]
    
    return new_id
      
  • isalnum() : 숫자, 영어, 한글일때 true

  • new_id 에 '...'이 있을 때 replace('..', '.')를 하면 '..'이 된다. 이것을 또 '.'으로 바꿔야하므로 while문을 통해 '..'이 있다면 모두 바꾸도록 하였다.

0개의 댓글