[프로그래머스] Lv.1 신규 아이디 추천

Tony Kim·2022년 1월 10일
0
post-thumbnail

[프로그래머스]

Lv.1 신규 아이디 추천

1. 문제

id를 input으로 받고 홈페이지 자체적으로 처리과정을 거쳐서 수정된 id를 output으로 return 해야하는 문제

2. 풀이

문자열을 리스트로 변환하고 단계별로 함수를 새로 만들어서 시도했지만 지속적으로 오류가 떴다.

3. 코드

모범답안을 참고함

def solution(new_id):
    answer = ''
    # 1
    new_id = new_id.lower()
    # 2
    for c in new_id:
        if c.isalpha() or c.isdigit() or c in ['-', '_', '.']:
            answer += c
    # 3
    while '..' in answer:
        answer = answer.replace('..', '.')
    # 4
    if answer[0] == '.':
        if len(answer) > 1:
            answer = answer[1:] 
        else:
            '.'
    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
    while len(answer) < 3:
        answer += answer[-1]
    return answer
  • new_id 그대로 사용할 필요 없고 새로운 list에 추가하는 방식
  • remove보다는 슬라이싱 적극 활용
  • isalpha(), isdigit(), i in X
profile
Back-end-dev

0개의 댓글