문제
시키는 대로 하면 되는 문제이고 파이썬 문자열 연습하는데 좋은 문제인 것 같다.
풀이 (python)
def solution(new_id):
#1단계
new_id1 = new_id.lower()
#2단계
new_id2=''
for x in new_id1:
if x.isalpha() or x.isdigit() or x=='-' or x=='_' or x=='.':
new_id2+=x
#3단계
while '..' in new_id2:
new_id2 = new_id2.replace('..','.')
#4단계
new_id3=list(new_id2)
if new_id3 and new_id3[0]=='.': del new_id3[0]
if new_id3 and new_id3[-1]=='.':del new_id3[-1]
new_id4 = ''.join(new_id3)
#5단계
if new_id4=='': return 'aaa'
#6단계
if len(new_id4)>=16: new_id4 = new_id4[:15]
if new_id4[-1]=='.': new_id4 = new_id4[:14]
#7단계
if len(new_id4)<3:
while len(new_id4)!=3:
new_id4+=new_id4[-1]
return new_id4
문자열 함수들과 리스트변환, 슬라이스를 사용해 풀이했다.
반응형
'Problem Solving > Programmers' 카테고리의 다른 글
프로그래머스 (Level 2) : JadenCase 문자열 만들기 / Python (0) | 2022.08.22 |
---|---|
프로그래머스 (Level 2) : 멀리뛰기 / Python / dp (0) | 2022.08.11 |
프로그래머스 (Level 1) : 3진법 뒤집기 / Python / 월간 코드 챌린지 시즌1 (0) | 2022.07.10 |
프로그래머스 (Level 1) : 로또의 최고 순위와 최저 순위 / Python / 2021 Dev-Matching: 웹 백엔드 개발자(상반기) (0) | 2022.07.04 |
프로그래머스 (Level 1) : 폰켓몬 / Python, set / 찾아라 프로그래밍 마에스터 (0) | 2022.05.15 |