카카오 2021 블라인드 문제로 나왔었다. 그냥 시키는 대로 구현하면 되는 쉬운 문제지만 꼼꼼하게 하지 않으면 인덱스 오류같은
오류가 난다. 자세한건 주석으로 설명했다.
def solution(new_id):
answer = ''
new_id=new_id.lower() #소문자로
# print(new_id)
for i in range(len(new_id)): #특정문자 외 제거
if new_id[i].isalpha() or new_id[i].isdigit() or new_id[i] in ["-", "_", "."]:
answer+=new_id[i]
# print(answer)
while ".." in answer: # .. 를 .로
answer = answer.replace("..",".")
if answer[0] ==".": #처음이나 끝이 .인경우 제거
answer = answer[1:] if len(answer)>1 else '.' #빈문자열인 경우 '.' 로 만들어줘서 다음줄에 인덱스오류 막음
if answer[-1]==".":
answer= answer[:-1]
# print(answer)
if answer =='': #공백문자열일 경우 'a'로
answer = 'a'
if len(answer)>15: #16글자 이상일때 줄여줌
answer = answer[:15]
if answer[-1]==".": #그 이후 .으로 끝날때 제거
answer= answer[:-1]
# print(answer)
while len(answer)<3: #2글자 이하일때 마지막글자를 3글자 될때까지 늘려줌
answer+=answer[-1]
return answer
'프로그래머스 풀이' 카테고리의 다른 글
프로그래머스 크레인 인형뽑기 게임(파이썬) (0) | 2022.02.10 |
---|---|
프로그래머스 키패드 누르기(파이썬) (0) | 2022.02.10 |
프로그래머스 소수찾기(파이썬) (0) | 2022.02.10 |
프로그래머스 체육복(파이썬) (0) | 2022.02.10 |
프로그래머스 숫자 문자열과 영단어(파이썬) (0) | 2022.02.10 |