Regex를 얼마나 잘 다룰 줄 아는지 확인하는 단순한 문제!
요런 귀요미 문제들은 빠르게 빠르게 해결하고 넘어가서 다른 문제에서 시간을 할애해야하는데,,
당황하면 이런거에 시간 많이 쓰는 유리멘탈이당 나는 ㅜ
import re
def solution(new_id):
# 1 단계
answer = new_id.lower()
# 2 단계
answer = re.sub('[^a-z0-9-_.]+', '', answer)
# 3 단계
answer = re.sub('[.]{2,}', '.', answer)
# 4 단계
if answer!= '' and answer[0] == '.':
answer = answer[1:]
if answer!= '' and answer[-1] == '.':
answer = answer[:len(answer)-1]
# 5 단계
if len(answer) == 0:
answer = 'a'
# 6 단계
if len(answer) >= 16:
answer = answer[:15]
if answer[-1] == '.':
answer = re.sub('.$', '', answer)
# 7 단계
if len(answer) <=2:
answer = answer + answer[-1]*(3-len(answer))
return answer
if __name__ == "__main__":
print(solution("...!@BaT#*..y.abcdefghijklm"))
print(solution("z-+.^."))
print(solution("=.="))
print(solution("123_.def"))
print(solution("abcdefghijklmn.p"))