카카오_2021_신규 아이디 추천_구현_리스트

RostoryT·2022년 7월 12일
0

Corporation_Coding Test

목록 보기
5/19
post-thumbnail

간단한 구현문제다 - 기능을 하나씩 구현해나가면 됨





입출력

no	new_id	result
예1	"...!@BaT#*..y.abcdefghijklm"	"bat.y.abcdefghi"
예2	"z-+.^."	"z--"
예3	"=.="	"aaa"
예4	"123_.def"	"123_.def"
예5	"abcdefghijklmn.p"	"abcdefghijklmn"

솔루션 코드 - 내가 푼

def solution(new_id):
    stopword = "~!@#$%^&*()=+[{]}:?,<>/"   
    
    # 1단계
    tmp = list(new_id.lower())
    
    # 2단계
    tmp2 = [data for data in tmp if data not in stopword]
    
    # 3단계
    answer = []
    tmp4 = 0
    for i in tmp2:
        if i == '.':  tmp4 += 1
        else:
            if tmp4 > 0:
                answer.append('.')
                answer.append(i)
            else:
                answer.append(i)
            tmp4 = 0
            
    # 4단계
    if answer and answer[0] == '.': del answer[0]
    if answer and answer[-1] == '.': del answer[-1]
        
    # 5단계
    if not answer:
        answer.append('a')
        
    # 6단계
    if len(answer) >= 16: answer = answer[:15]
    if answer[-1] == '.': del answer[-1]
        
    # 7단계
    while(len(answer)<=2):
        answer.append(answer[-1])
    
    return "".join(answer)

profile
Do My Best

0개의 댓글