Ccode/Coding_Test

2021 KAKAO BLIND RECRUITMENT_신규아이디 추천

맨사설 2021. 8. 27. 17:45
728x90

 

https://programmers.co.kr/learn/challenges?tab=all_challenges

 

코딩테스트 연습

기초부터 차근차근, 직접 코드를 작성해 보세요.

programmers.co.kr

 

def solution(new_id):
    #1
    new_id = new_id.lower()
    new1_id=""
    #2
    for i in new_id:
        if i.isalpha():
            new1_id+=i
        elif i.isdigit():
            new1_id+=i
        elif i in ['-','_','.']:
            new1_id+=i
    #3
    for i in range(len(new1_id),1,-1):
        new1_id=new1_id.replace("."*i,".")  
    #4
    if new1_id[0] == ".":
        if len(new1_id)==1: # 1이하의 문자열 index 문제 해결
            new1_id=''
        else:
            new1_id=new1_id[1:]
    #5
    if len(new1_id)>=1:
        if new1_id[len(new1_id)-1] == ".":
            new1_id=new1_id[:-1]
        new1_id=new1_id.replace(' ','a')
        if len(new1_id)>=16:
            new1_id=new1_id[:15]        
        if new1_id[len(new1_id)-1] == ".":
            new1_id=new1_id[:-1]   
    else:
        if len(new1_id)==0:
            new1_id='a'
    #6
    if len(new1_id)<=2:
        while len(new1_id)<3:
            new1_id+=new1_id[-1]    
    return new1_id

 

유야호~

※ 비록 통과하였지만 코드를 간결하게 만들어볼 필요가 있다.

728x90