https://school.programmers.co.kr/learn/courses/30/lessons/72410?language=python3
def solution(new_id):
answer = ''
# 1단계
new_id = new_id.lower()
# 2단계
for word in new_id:
if word.isalnum() or word in '-_.':
answer += word
# 3단계
while '..' in answer:
answer = answer.replace('..','.')
# 4단계
answer = answer[1:] if answer[0] == '.' and len(answer) > 1 else answer
answer = answer[:-1] if answer[-1] == '.' else answer
# 5단계
if len(answer) == 0:
answer += 'a'
# 6단계
if len(answer) >= 16:
answer = answer[:15]
if answer[-1] == '.':
answer = answer[:-1]
# 7단계
while len(answer) < 3:
answer += answer[-1]
return answer
- isalnum() : 영문이나 한글, 또는 숫자인지 확인하는 함수
- replace는 처음 해당 문자를 만날 때만 치환해주므로 while문을 사용한다.
- 문자열 슬라이싱할 때 answer[start:end+1] 이면 end인덱스까지 문자가 잘린다.
'Algorithm > Problems' 카테고리의 다른 글
99클럽 코테 스터디 35일차 TIL + 구현 (0) | 2024.12.02 |
---|---|
99클럽 코테 스터디 34일차 TIL + 구현 (1) | 2024.12.01 |
99클럽 코테 스터디 32일차 TIL + DP (0) | 2024.11.29 |
99클럽 코테 스터디 31일차 TIL + DP (0) | 2024.11.28 |
99클럽 코테 스터디 30일차 TIL + DP (0) | 2024.11.27 |