https://programmers.co.kr/learn/courses/30/lessons/72410
from string import ascii_lowercase
def delete(new_id):
module = list(ascii_lowercase) + ["-", "_", "."] + ["1","2","3","4","5","6","7","8","9","0"]
for i in new_id:
if i not in module:
new_id = new_id.replace(i,"")
return new_id
def check_dot_once(new_id):
for i in range(len(new_id)-1):
try:
if (new_id[i] == ".") & (new_id[i+1] == "."):
if i == len(new_id)-1:
new_id = new_id[:-1]
return new_id
else:
new_id = new_id[:i+1] + new_id[i+2:]
return check_dot_once(new_id)
except:#5단계
return "a"
return new_id
def check_dot_loc(new_id):
try:
if new_id[0] == ".":
new_id = new_id[1:]
if new_id[-1] == ".":
new_id = new_id[:-1]
except: #5단계
return "a"
return new_id
def check_len(new_id):
if len(new_id) >= 16:
new_id = new_id[:15]
if new_id[-1] == ".":
new_id = new_id[:-1]
return new_id
def add(new_id):
if len(new_id) <= 2:
new_id = new_id + new_id[-1]
return add(new_id)
return new_id
def solution(new_id):
answer = ''
#1단계
new_id = new_id.lower()
#2단계
new_id = delete(new_id)
#3단계
new_id = check_dot_once(new_id)
#4단계
new_id = check_dot_loc(new_id)
#6단계
new_id = check_len(new_id)
#7단계
answer = add(new_id)
return answer'파이썬 코딩테스트 > 프로그래머스' 카테고리의 다른 글
| 프로그래머스 / 음양 더하기 / 파이썬 (0) | 2022.02.25 |
|---|---|
| 프로그래머스 / 없는 숫자 더하기 / 파이썬 (0) | 2022.02.25 |
| 프로그래머스 / 로또의 최고 순위와 최저 순위 / 파이썬 (0) | 2022.02.24 |
| 프로그래머스 / 크레인 인형 뽑기 / 파이썬 (0) | 2022.02.24 |
| 프로그래머스 / 키패드 누르기 / 파이썬 (0) | 2022.02.24 |