S E P H ' S

[Python] 신규 아이디 추천 본문

Algorithm/Programmers

[Python] 신규 아이디 추천

yoseph0310 2021. 7. 6. 15:06

 

 

코딩테스트 연습 - 신규 아이디 추천

카카오에 입사한 신입 개발자 네오는 "카카오계정개발팀"에 배치되어, 카카오 서비스에 가입하는 유저들의 아이디를 생성하는 업무를 담당하게 되었습니다. "네오"에게 주어진 첫 업무는 새로

programmers.co.kr

처음 문제를 봤을 때는 지문이 길어서 어렵게 느껴졌지만 지문에서 주어진 1~7단계 까지의 요구사항을 차례차례 해결해나가는 문제이다.

문자열을 다루는 데 필요한 내장함수나 아이디어를 종합적으로 생각하기에 아주 좋은 문제인 것 같다.

 

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

'Algorithm > Programmers' 카테고리의 다른 글

[Python] 음양 더하기  (0) 2021.07.06
[Python] 예산  (0) 2021.07.06
[Python] 체육복  (0) 2021.07.06
[Python] 소수찾기  (0) 2021.07.06
[Python] 모의고사  (0) 2021.07.05