728x90
1. 문제
programmers.co.kr/learn/courses/30/lessons/72410
2. 풀이
단계별로 조건에 맞게 구현하면 되는 문제.
step 4 에서 길이가 0이 되는경우를 고려해주어야 한다.
3. 코드
def solution(new_id):
answer = ''
#1단계
new_id = new_id.lower()
#2단계
for x in new_id:
if x.isdigit() or x.isalpha() or x == '-' or x == '_' or x == '.':
answer += x
#3단계
while '..' in answer:
answer = answer.replace('..', '.')
#step 4
if answer[0] == '.':
answer = answer[1:] if len(answer)>1 else '.'
if answer[-1] == '.':
answer = answer[:-1]
#step 5
if len(answer)==0:
answer = 'a'
#step 6
if len(answer)>=16:
answer = answer[:15]
if answer[-1] == '.':
answer = answer[:-1]
#step 7
if len(answer) < 3:
while len(answer) != 3:
answer += answer[-1]
return answer
728x90
'코딩 테스트' 카테고리의 다른 글
[프로그래머스] 순위 검색 (Python) (0) | 2021.03.30 |
---|---|
[프로그래머스] 쿼드압축 후 개수 세기 (C++) (0) | 2021.03.30 |
[프로그래머스] 뉴스 클러스터링 (Python) (0) | 2021.03.24 |
[프로그래머스] 게임 맵 최단거리 (C++) (0) | 2021.03.23 |
[프로그래머스] 타겟넘버 (Python) (0) | 2021.03.23 |
댓글