프로그래머스 2021 KAKAO BLIND RECRUITMENT

# 신규 아이디 추천

  • Point. 단계별로 차근차근 짜기
  • 실패1 ) 테케 3,4,5,11,15 실패 -> step4에서 if-else로 작성해서 접두어 접미어 둘 중 하나만 적용됨 -> if, if로 변경
def solution(new_id):
    # 1
    str1 = new_id.lower()
    
    # 2
    str2 = ''
    for i in str1:
        if i.isalnum():
            str2+=i
        else:
            if i in ('-','_','.'):
                str2+=i
    
    # 3
    str3 = ''
    m_count = 0
    for i in str2:
        if i == '.':
            m_count+=1
            if m_count == 1:
                str3+=i
        else:
            str3+=i
            m_count=0
            
    # 4
    if str3.startswith('.'):
        str3 = str3[1:]
    if str3.endswith('.'):
        str3 = str3[:-1]
    
    # 5
    if len(str3)==0:
        str3 += "a"
    
    # 6
    if len(str3) >= 16:
        str3 = str3[:15]
        if str3[-1] == '.':
            str3 = str3[:-1]
    
    # 7
    if len(str3) < 3:
        c = 3-len(str3)
        str3 = str3 + str3[-1]*c

    return str3

 

반응형

+ Recent posts