title: "[프로그래머스] 신규 아이디 추천 Python 파이썬 해설 (Level 1) - 이도훈"
cleanUrl: "programmers/72410"
description: "프로그래머스 Level 1 문제 [신규 아이디 추천]의 풀이를 정리합니다."

문제 설명 및 제한사항

아이디어 및 해결 방법

코드

import re

def solution(new_id):
    # 1
    new_id = new_id.lower()
    # 2
    new_id = ''.join(c for c in new_id if c in 'abcdefghijklmnopqrstuvwxyz0123456789-_.')
    # 3
    new_id = re.sub('\\.+', '.', new_id)
    # 4
    new_id = re.sub('^\\.', '', new_id)
    new_id = re.sub('\\.$', '', new_id)
    # 5
    if new_id == '':
        new_id = 'a'
    # 6
    if len(new_id) >= 16:
        new_id = new_id[:15]
        new_id = re.sub('\\.$', '', new_id)
    # 7
    if len(new_id) <= 2:
        new_id = new_id + new_id[-1] * (3 - len(new_id))
    
    return new_id

출처

프로그래머스 코딩테스트 연습 https://school.programmers.co.kr/learn/challenges