알고리즘/programmers
[ 프로그래머스 / 파이썬 ] 신규 아이디 추천
jungeun960
2021. 5. 4. 17:04
프로그래머스 2021 KAKAO BLIND RECRUITMENT
- Point. 단계별로 차근차근 짜기
- 실패1 ) 테케 3,4,5,11,15 실패 -> step4에서 if-else로 작성해서 접두어 접미어 둘 중 하나만 적용됨 -> if, if로 변경
def solution(new_id):
# 1
str1 = new_id.lower()
# 2
str2 = ''
for i in str1:
if i.isalnum():
str2+=i
else:
if i in ('-','_','.'):
str2+=i
# 3
str3 = ''
m_count = 0
for i in str2:
if i == '.':
m_count+=1
if m_count == 1:
str3+=i
else:
str3+=i
m_count=0
# 4
if str3.startswith('.'):
str3 = str3[1:]
if str3.endswith('.'):
str3 = str3[:-1]
# 5
if len(str3)==0:
str3 += "a"
# 6
if len(str3) >= 16:
str3 = str3[:15]
if str3[-1] == '.':
str3 = str3[:-1]
# 7
if len(str3) < 3:
c = 3-len(str3)
str3 = str3 + str3[-1]*c
return str3
반응형