본문 바로가기
알고리즘/카카오 기출문제

[파이썬🐍] 프로그래머스 : 신규 아이디 추천

by 코딩개미뚠뚠 2021. 4. 18.
반응형
def solution(new_id):
    # 1단계
    new_id = new_id.lower()
    # 2단계
    answer = ''
    for word in new_id:
        if word.isalnum() or word in '-_.':
            answer += word
    # 3단계
    while '..' in answer:
        answer = answer.replace('..', '.')
    # 4단계
    answer = answer[1:] if answer[0] == '.' and len(answer) > 1 else answer
    answer = answer[:-1] if answer[-1] == '.' else answer
    # 5단계
    answer = 'a' if answer == '' else answer
    # 6단계
    if len(answer) >= 16:
        answer = answer[:15]
        if answer[-1] == '.':
            answer = answer[:-1]
    # 7단계
    if len(answer) <= 3:
        answer = answer + answer[-1] * (3-len(answer))
    return answer

해결해야 하는 단계가 많아서 복잡하지만 하나씩 처리했더니 성공했다!

isalnum()이라는 함수는 숫자,대문자,소문자만 True로 반환해준다.

반응형

댓글