정리 노트

프로그래머스 신규 아이디 추천(Python) 본문

프로그래머스 코딩테스트 연습

프로그래머스 신규 아이디 추천(Python)

꿈만 꾸는 학부생 2022. 6. 22. 17:25
728x90

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

 

코딩테스트 연습 - 신규 아이디 추천

카카오에 입사한 신입 개발자 네오는 "카카오계정개발팀"에 배치되어, 카카오 서비스에 가입하는 유저들의 아이디를 생성하는 업무를 담당하게 되었습니다. "네오"에게 주어진 첫 업무는 새로

programmers.co.kr

이번 문제도 어렵지 않게 풀 수 있는 난이도의 문제였다. 이 문제는 정규식을 알고 있어야 코드가 간결해진다.

정규식을 사용하기 위해 re 모듈을 import 해서 풀어야 한다. 풀이 코드는 아래와 같다.

import re

def solution(new_id):
    max_length = 15
    
    new_id = new_id.lower()    # 1단계
    new_id = re.sub('[~!@#$%^&*()=+\[\{\]\}:?,<>/]', '', new_id)    # 2단계
    new_id = re.sub('\.{2,}', '.', new_id)    # 3단계
    new_id = re.sub('^\.|\.$', '', new_id)    # 4단계
    if len(new_id) == 0:    # 5단계
        new_id = "a"
    if len(new_id) > max_length:    # 6단계
        new_id = new_id[:max_length]
    new_id = re.sub('\.$', '', new_id)
    while len(new_id) <= 2:    # 7단계
        new_id += new_id[-1]
    return new_id

정규식에 대해서는 나중에 따로 정리해놔야 내가 찾기 편할 것 같다.

728x90