플그래밍/파이써언

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

훗티v 2022. 6. 7. 12:51
728x90
반응형

카카오 블라인드 채용 코딩테스트 중 아이디 규칙 관련 부분입니다. 

[프로그래머스]신규 아이디 추천 문제 풀어보기 (https://programmers.co.kr/learn/courses/30/lessons/72410)

 

다음은 카카오 아이디의 규칙입니다.

아이디의 길이는 3자 이상 15자 이하여야 합니다.
아이디는 알파벳 소문자, 숫자, 빼기(-), 밑줄(_), 마침표(.) 문자만 사용할 수 있습니다.
단, 마침표(.)는 처음과 끝에 사용할 수 없으며 또한 연속으로 사용할 수 없습니다.

 

3자 이상

3자 이상일 경우 {3, 최대길이}를 []끝에 추가해줍니다.

^: 시작

[]: 찾고자하는 문자 종류 (\s: 공백, \S: 비 공백)

{}: 길이 설정, {1, 5} 1이상 5이하

$: 끝

^[\s\S']{3,8}$

 

알파벳 소문자, 숫자, 빼기(-), 밑줄(_), 마침표(.)

a-z: 알파벳 소문자

0-9: 숫자

-: 빼기

_: 밑줄

.: 마침표

^[a-z0-9-_.]{3,8}$

마침표, 빼기, 밑줄을 제외한 나머지 특수문자를 지우는게 이리도 어려울줄이야...

 

결국...

 

정규표현식은 버리는걸로

 

def solution(new_id):
    import re
    new_id = new_id.lower()
    new_id = new_id.replace("~", "")
    new_id = new_id.replace("!", "")
    new_id = new_id.replace("@", "")
    new_id = new_id.replace("#", "")
    new_id = new_id.replace("$", "")
    new_id = new_id.replace("%", "")
    new_id = new_id.replace("^", "")
    new_id = new_id.replace("&", "")
    new_id = new_id.replace("*", "")
    new_id = new_id.replace("(", "")
    new_id = new_id.replace(")", "")
    new_id = new_id.replace("+", "")
    new_id = new_id.replace("=", "")
    new_id = new_id.replace("[", "")
    new_id = new_id.replace("]", "")
    new_id = new_id.replace("{", "")
    new_id = new_id.replace("}", "")
    new_id = new_id.replace(":", "")
    new_id = new_id.replace("?", "")
    new_id = new_id.replace(",", "")
    new_id = new_id.replace("<", "")
    new_id = new_id.replace(">", "")
    new_id = new_id.replace("\\", "")
    new_id = new_id.replace("/", "")
    new_id = re.sub("\.+", ".", new_id)
    new_id = re.sub("^\.", "", new_id)
    new_id = re.sub("\.$", "", new_id)
    if len(new_id) == 0:
        new_id = "aaa"
    if len(new_id) >= 16:
        new_id = new_id[:15]
    if new_id[-1] == ".":
        new_id = new_id[:-1]
    if len(new_id) <= 2 and len(new_id) >= 1:
        new_id = new_id + new_id[-1]*(3-len(new_id))
    answer = new_id
    return answer

 

단순무식

 

 

 

 

 

만세~

 

 

 

 

 

 

반응형