[프로그래머스] Lv1 2021 카카오 블라인드 - 신규 아이디 추천 [Python]

원준·2023년 5월 2일
0

코딩 테스트

목록 보기
13/18

1. 문제 설명

2. 내가 한 코드

  • 이전에 연습햇던 것들이 있어 어렵지 않았다.
  • 주석 참고
def solution(new_id):
    result_str = "~!@#$%^&*()=+[{]}:?,<>/"
    # 허용되지 않는 특수문자들을 모아놨다.
    
    new_id = new_id.lower() 
    # 모든 알파벳들을 소문자료 변환
    
    for s in result_str:
        new_id = new_id.replace(s, "")
        # 허용되지 않는 특수문자들을 전부 제거한다.
        
    while ".." in new_id:
        new_id = new_id.replace("..", ".")
        # .. 이 존재한다면 전부 .으로 변환한다.

    new_id = new_id.strip('.')
    # 양쪽 .의 글자를 제거한다.
    
    if new_id == '':
        new_id = 'a'
    	# 값이 아무것도 업다면 a를 넣는다.
    
    if len(new_id) > 15:
        new_id = new_id[:15].strip('.')
        # 값이 16이상이라면, 15까지 자르고 맨위에 .이라면 제거한다.
    
    while len(new_id) < 3:
        new_id += new_id[-1]
        # 3줄미만이라면 3줄이 될때까지 마지막 값을 반복한다.

    return new_id
profile
공부해보자

0개의 댓글