상세 컨텐츠

본문 제목

[카카오 코딩테스트 기출] 신규아이디 추천

카테고리 없음

by yukmim 2021. 11. 17. 13:52

본문

<문제>

신규 아이디를 규칙에 맞게 변환하는 문제

<방법>

1. 신규 아이디 new_id 중 대문자를 소문자로 만든다.

2. new_id 에 있는 글자들이 알파벳, 숫자, 문자"-". "_", "." 일 경우 answer에 추가

3. ".."이 new_id 에 있으면 "."로 치환한다.

4. "."이 처음이나 끝에 위치하면 삭제한다.

5. new_id가 빈 문자열이면 answer="a"이다.

6. new_id가 16글자 이상이면 15글자 까지만 저장한다. 이때 마지막글자가 "."이라면 제거한다

7. new_id가 2자리 이하인 경우 3자리가 될때까지 마지막글자를 추가한다.

 

<코드>

def solution(new_id):
    answer = ""
    
    new_id = new_id.lower()
    
    for word in new_id:
        if word.isalnum() or word in ["-","_","."]:
            answer += word
            
    while '..' in answer:
        answer = answer.replace('..','.')
        
    if answer[0] == ".":
        if len(answer) >= 2:
            answer = answer[1:]
        else:
            answer = "."
            
    if answer[-1] == ".":
        answer = answer[:-1]
            
    if answer == "":
        answer = "a"
    
    if len(answer) >= 16:
        answer = answer[:15]
        if answer[-1] == ".":
            answer = answer[:-1]
            
    while len(answer) < 3:
        answer += answer[-1]
        
    
    return answer

댓글 영역