728x90
https://programmers.co.kr/learn/challenges?tab=all_challenges
def solution(new_id):
#1
new_id = new_id.lower()
new1_id=""
#2
for i in new_id:
if i.isalpha():
new1_id+=i
elif i.isdigit():
new1_id+=i
elif i in ['-','_','.']:
new1_id+=i
#3
for i in range(len(new1_id),1,-1):
new1_id=new1_id.replace("."*i,".")
#4
if new1_id[0] == ".":
if len(new1_id)==1: # 1이하의 문자열 index 문제 해결
new1_id=''
else:
new1_id=new1_id[1:]
#5
if len(new1_id)>=1:
if new1_id[len(new1_id)-1] == ".":
new1_id=new1_id[:-1]
new1_id=new1_id.replace(' ','a')
if len(new1_id)>=16:
new1_id=new1_id[:15]
if new1_id[len(new1_id)-1] == ".":
new1_id=new1_id[:-1]
else:
if len(new1_id)==0:
new1_id='a'
#6
if len(new1_id)<=2:
while len(new1_id)<3:
new1_id+=new1_id[-1]
return new1_id
※ 비록 통과하였지만 코드를 간결하게 만들어볼 필요가 있다.
728x90
'Ccode > Coding_Test' 카테고리의 다른 글
숫자 짝꿍 (0) | 2022.10.07 |
---|---|
2019 KAKAO BLIND RECRUITMENT_실패율 (0) | 2021.09.06 |
2021 카카오 채용연계형 인턴십_숫자 문자열과 영단어 (0) | 2021.08.25 |
프로그래머스_코딩테스트연습_위클리챌린지_4주차 (0) | 2021.08.24 |
2020 카카오 인턴십_키패드 누르기 (0) | 2021.08.09 |