문제

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

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

 

문자열 함수들과 리스트변환, 슬라이스를 사용해 풀이했다.

 

반응형

+ Recent posts