연습장

19. 신규 아이디 추천 본문

프로그래머스/1단계

19. 신규 아이디 추천

js0616 2024. 1. 19. 15:31

 

1단계 -> lower 사용

2,3,4단계 -> 정규 표현식 이용 

5, 6 , 7단계 -> 길이 len 이용

정규표현식은 문자열을 처리할때 사용할 수 있다.  re 모듈을 import 하며

re.sub(패턴, 대체할문자, 확인할문자열 )  ## replace 와 비슷하게 생각 할 수 있다.

 

 

각 단계를 보면서 필요한 코드를 짜 넣는다. 



def solution(new_id):

    import re
    
    # 1단계
    new_id = new_id.lower() # 소문자로 
    
    # 2단계
    new_id = re.sub('[^a-z0-9-_.]', '', new_id) # 기준에 따른 문자 변환
    
    # 3단계
    new_id = re.sub('\.{2,}', '.', new_id) # .. 이상 . 으로 변환
    
    # 4단계
    new_id = re.sub('^\.','',new_id) # . 으로 시작 제거
    new_id = re.sub('\.$','',new_id) # . 으로 종료 제거
    
    # 5단계
    if len(new_id) == 0 :
        new_id = "a"
    
    # 6단계
    if len(new_id) >= 16:
        new_id = new_id[:15]
        if new_id[-1] == '.':
            new_id = new_id[:-1]
    
    # 7단계
    while len(new_id) <= 2:
        new_id += new_id[-1]
        
    return new_id

 

'프로그래머스 > 1단계' 카테고리의 다른 글

21. 데이터 분석  (0) 2024.01.20
20. 성격 유형 검사하기  (0) 2024.01.20
18. 햄버거 만들기  (0) 2024.01.19
17. 키패드 누르기  (0) 2024.01.19
16. 크레인 인형뽑기 게임  (0) 2024.01.17