728x90

차근차근 풀면 되는 문자열 문제입니다. indexing 전에 빈 문자열이 되었는지 체크하는 것을 잊지 말도록 합시다.

import re
def solution(new_id):
    tmp = new_id
    # 1
    tmp = tmp.lower()
    # 2
    tmp = re.sub("[^a-z0-9_\-.]", "", tmp)
    # 3
    tmp = re.sub("\.{2,}", ".", tmp)
    # 4
    if tmp == '':
        tmp = 'a'
    if tmp[0] == '.':
        tmp = tmp[1:]
    if tmp == '':
        tmp = 'a'
    if tmp[-1] == '.':
        tmp = tmp[:len(tmp)-1]
    # 5
    if tmp == '':
        tmp = 'a'

    # 6
    if len(tmp) >= 16:
        tmp = tmp[:15]
    if tmp[-1] == '.':
        tmp = tmp[:len(tmp)-1]

    #7
    if len(tmp) <= 2:
        tmp += tmp[-1]*(3-len(tmp))
    return tmp

# 반례
solution("=.=")
  • 네이버 블로그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기