cording test

Lv.1 신규 아이디 추천

JM Lee 2023. 5. 17. 01:21
728x90

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

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

문제를 보면 알겠지만, 1단계부터 7단계까지 하나씩 코드를 풀어보는 많은 수작업이 필요하다.

 

동시에 내가 알고 있는 파이썬 함수들을 복습하는 데 매우 유용한 문제이다.

def solution(new_id):
    new_id = new_id.lower() #1단계
    checker = "abcdefghijklmnopqrstuvwxyz1234567890-_."
    for i in new_id: #2-1단계
      if not i in checker:#2-2단계
        new_id = new_id.replace(i,"") #2-3단계
    while ".." in new_id: #3-1단계
        new_id = new_id.replace("..",".") #3-2단계
    if new_id and new_id[0] == ".": #4-1단계
      new_id = new_id[1:] #4-2단계
    if new_id and new_id[-1] ==".": #4-1단계
      new_id = new_id[:-1] #4-2단계
    if not new_id: #5-1
      new_id="a" #5-2단계
    if len(new_id) > 15: #6-1단계
      new_id = new_id[:15] #6-2단계
      if new_id[-1] ==".": 
        new_id = new_id[:-1] #6-3단계
    while len(new_id) < 3: #7-1단계
        new_id += new_id[-1] #7-2단계
        
    return new_id

 

'cording test' 카테고리의 다른 글

Lv.1 체육복  (0) 2023.05.20
Lv.1 신고 결과 받기  (1) 2023.05.17
LV.2 영어 끝말잇기  (0) 2023.05.07
LV.1 기사단원의 무기  (0) 2023.05.07
LV.0 다음에 올 숫자  (0) 2023.05.07