2021 카카오 신입 공채
https://programmers.co.kr/learn/courses/30/lessons/72410
🐥 이건 얻어가자
- 2단계 → 특정 특수문자들을 제거하는 방법
- 정규식 쓰는 굇수도 있던데 다른 해설 부분을 참고 ㄷㄷ
코드
def solution(new_id):
answer = ''
# 1단계
answer = new_id.lower()
# 2단계
delete = "~!@#$%^&*()=+[{]}:?,<>/"
for i in range(len(delete)):
answer = answer.replace(delete[i], "")
# 3단계
while answer.replace("..", "") != answer:
answer = answer.replace("..", ".")
# 4단계
if len(answer) > 0:
if answer[0] == '.': answer = answer[1:]
if len(answer) > 0:
if answer[-1] == '.': answer = answer[:-1]
# 5단계
if len(answer) == 0:
answer = "a"
# 6단계
if len(answer) >= 16:
answer = answer[:15]
if answer[-1] == ".":
answer = answer[:-1]
# 7단계
if len(answer) <= 2:
while len(answer) < 3:
answer = answer + answer[-1]
return answer
다른 해설
import re
def solution(new_id):
st = new_id
st = st.lower()
st = re.sub('[^a-z0-9\-_.]', '', st)
st = re.sub('\.+', '.', st)
st = re.sub('^[.]|[.]$', '', st)
st = 'a' if len(st) == 0 else st[:15]
st = re.sub('^[.]|[.]$', '', st)
st = st if len(st) > 2 else st + "".join([st[-1] for i in range(3-len(st))])
return st
'Algorithm' 카테고리의 다른 글
[Python] 프로그래머스 : 괄호 변환 (0) | 2022.07.07 |
---|---|
[Python] 프로그래머스 : 메뉴 리뉴얼 (구현) (0) | 2022.07.05 |
[Python] 프로그래머스 : 신고 결과 받기 (해시) (0) | 2022.05.21 |
[Python] 프로그래머스 : 문자열 압축 (구현, 완전탐색) (0) | 2022.05.20 |
[Python] 백준 2357 : 최솟값과 최댓값 (세그먼트 트리) (0) | 2022.05.10 |