Problem Solving/Programmers
프로그래머스 (Level 1) : 신규 아이디 추천 / Python / 2021 KAKAO BLIND RECRUITMENT
eroke
2022. 8. 9. 23:40
문제
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
시키는 대로 하면 되는 문제이고 파이썬 문자열 연습하는데 좋은 문제인 것 같다.
풀이 (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
문자열 함수들과 리스트변환, 슬라이스를 사용해 풀이했다.
반응형