2021 KAKAO BLIND RECRUITMENT 신규 아이디 추천

GyuSeok Lee·2022년 4월 28일
1

문제

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

풀이방법

주어진 조건에 맞추어서 하나씩 풀이하면 된다.
stage3가 조금 애를 먹었었는데, 처음에는 시간초과가 났었던 것 같은데 지금은 잘 풀리는 것 같다?

느낀점

Stage2를 조금 비효율적으로 짰었는데, isalnum()이랑 필요한 문자열만 담아두면 훨씬 쉽게 풀이가 가능한 것 같다.

코딩

def solution(new_id):
    temp = new_id.lower() # 1 lower
    
    #2
    answer = ""
    for letter in temp:
        if letter.isalnum() or letter in ["_","-","."]:
            answer += letter
    #3
    while ".." in answer:
        answer = answer.replace("..",".")
    
    #4
    if len(answer) >0 and answer[0] == ".":
        answer = answer[1:]
    if  len(answer) >0 and answer[-1] == ".":
        answer = answer[:-1]
    
    #5
    if answer == "":
        answer = "a"
    #6
    if len(answer) >= 16:
        answer = answer[:15]
        if answer[-1] == ".":
            answer = answer[:-1]
    
    #7
    while len(answer) < 3:
        answer += answer[-1]
        
    
    return answer
profile
AI Researcher

0개의 댓글