티스토리 뷰

728x90

2021 KAKAO BLIND RECRUITMENT

코딩테스트 연습 - 신규 아이디 추천 | 프로그래머스 (programmers.co.kr)

 

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

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

programmers.co.kr

 

조건을 단계별로 따라가면서 구현하면 된다.

 

def solution(new_id):
    answer = ''
    # 1단계
    new_id = new_id.lower()
    
    # 2단계
    for word in new_id:
        if word.isalnum() or word in '-_.':
            answer += word
            
    # 3단계
    while '..' in answer:
        answer = answer.replace('..', '.')
        
    # 4단계
    if answer[0] == '.' and len(answer) > 1:
        answer = answer[1:]
    if answer[-1] == '.':
        answer = answer[:-1]
        
    # 5단계
    if answer == '':
        answer = 'a'
        
    # 6단계
    if len(answer) > 15:
        answer = answer[:15]
        if answer[-1] == '.':
            answer = answer[:-1]
            
    # 7단계
    if len(answer) < 3:
        answer = answer + answer[-1] * (3-len(answer))
    
    return answer

 

유용한 Python 함수

string.lower()

string 객체 내의 모든 문자를 소문자로 변환하여 리턴

관련 함수 : string.upper(), stirng.isupper(), string.islower()

 

string.isalnum()

문자열이 모두 숫자일 경우 true 리턴

 

string.isalpha()

문자열이 모두 한글이나 영어일 경우 true 리턴

 

string.replace()

replace(old, new, [count]) -> replace("찾을값", "바꿀값", [바꿀횟수])

참고 : 파이썬 replace() 문자열 제거, 수정(변환) (tistory.com)

 


Ref.

[Algorithm] Programmers : 신규 아이디 추천 by Python (velog.io)

728x90
댓글
공지사항
최근에 올라온 글