본문 바로가기
문제 풀이/프로그래머스 (Programmers)

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

by 희조당 2022. 6. 19.
728x90

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

 

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

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

programmers.co.kr


 문제 풀이

문제에서 요구하는대로 그대로 따라 하면 된다.

정규식을 이용해서 푸는게 깔끔해서 정규식을 이용했다.

 느낀 점

파이썬의 큰 매력이 정규식에 있는 것 같다. 코드가 아주 직관적이고 예뻐졌다.

6단계에서 글자의 길이가 16 이상일 때 조건이 있는데 뭐가 되었든 처음부터 15글자를 가져오면 되니 

조건을 줄여서 코드를 간략하게 바꾸었다.

파이썬이 아직 많이 미숙한 것 같아서 조만간 기초부터 정리를 해야할 것 같다.

 코드

import re

def solution(new_id):
    answer = re.sub('[^0-9a-z-_.]', '', new_id.lower())
    answer = re.sub('\.{2,}', '.', answer)
    if answer[0] == '.': answer = answer[1:]
    if answer[-1] == '.': answer = answer[:-1]
    answer = 'a' if len(answer) == 0 else answer[:15]
    if answer[-1] == '.': answer = answer[:-1]    
    if len(answer) <= 2: answer = answer + answer[-1] * (3-len(answer)) 
    return answer

댓글