문제 링크

개요

  • 정규식을 사용해 해결할 수 있는 문제다.

문제 조건

  • 유저가 제시한 아이디 문자열을 규칙에 맞게 변경하여 반환하는 문제다.

문제 해설

  • 제시된 조건에 대해 정규식을 구현하여 문자열에 적용하면 된다.
  • 정규식 활용 능력에 따라 더욱 간단한 코드로 구현할 수도 있다.

해설 코드

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
import re

def solution(new_id):
    answer = new_id.lower()
    answer = re.sub(r"[^a-z0-9-_\.]","",answer)
    answer = re.sub(r"\.+",".",answer)
    answer = re.sub(r"^\.","",answer)
    answer = re.sub(r"\.$","",answer)
    answer = 'a' if not answer else answer
    answer = answer[:15]
    answer = answer[:-1] if answer[-1] == '.' else answer
    answer += answer[-1]*(3-len(answer))
    return answer