반응형
def solution(new_id):
# 1단계
new_id = new_id.lower()
# 2단계
answer = ''
for word in new_id:
if word.isalnum() or word in '-_.':
answer += word
# 3단계
while '..' in answer:
answer = answer.replace('..', '.')
# 4단계
answer = answer[1:] if answer[0] == '.' and len(answer) > 1 else answer
answer = answer[:-1] if answer[-1] == '.' else answer
# 5단계
answer = 'a' if answer == '' else answer
# 6단계
if len(answer) >= 16:
answer = answer[:15]
if answer[-1] == '.':
answer = answer[:-1]
# 7단계
if len(answer) <= 3:
answer = answer + answer[-1] * (3-len(answer))
return answer
해결해야 하는 단계가 많아서 복잡하지만 하나씩 처리했더니 성공했다!
isalnum()이라는 함수는 숫자,대문자,소문자만 True로 반환해준다.
반응형
'알고리즘 > 카카오 기출문제' 카테고리의 다른 글
[파이썬🐍] 프로그래머스 : [1차] 비밀지도 (0) | 2021.05.07 |
---|---|
[파이썬🐍] 프로그래머스 : 키패드 누르기 (0) | 2021.05.05 |
[파이썬🐍] 프로그래머스 : 실패율 (0) | 2021.04.22 |
[파이썬🐍] 프로그래머스 : 튜플 (0) | 2021.04.16 |
[파이썬🐍] 프로그래머스 : 크레인 인형뽑기 게임 (0) | 2021.04.15 |
댓글