-
[프로그래머스] 2단계 신규 아이디 추천Algorithm/1일 1코테 2021. 6. 23. 20:44반응형
프로그래머스 2단계. 신규 아이디 추천
https://programmers.co.kr/learn/courses/30/lessons/72410#
# 테스트코드 4개 통과 못 함.... def solution(new_id): # 허용되는 특수문자 리스트 ok_list = ['-', '_', '.'] # 소문자로 바꾸고, ok_list 안에 있거나 알파벳, 숫자 n_id=[i for i in new_id.lower() if i in ok_list or i.isalnum()] # 답안 변수 생성 answer = '' # ..이 여러개 붙어 있을 경우에 패스 for i in range(len(n_id)-1): if n_id[i] == '.' and n_id[i+1] == '.': continue else: answer += n_id[i] if i == len(n_id)-2: answer += n_id[-1] # 길이는 1보다 길고, 맨처음이 .인 경우 제거 if len(answer)>=1 and answer[0] == '.': answer=answer[1:] # 길이는 1보다 길고, 맨뒤가 .인 경우 제거 elif len(answer)>=1 and answer[-1] == '.': answer=answer[:-1] # 만약 답안의 길이가 0이면 a 넣어주기 if len(answer) == 0: answer = 'a' # 길이가 15보다 길면 15까지 짤라 if len(answer) > 15: answer=answer[:15] if answer[-1] == '.': answer=answer[:-1] # 길이가 2보다 짧으면 맨 마지막 글자 추가 if len(answer) <= 2: char = answer[-1] answer += char*5 answer=answer[:3] return answer
반응형'Algorithm > 1일 1코테' 카테고리의 다른 글
[🥲 프로그래머스] 정수 삼각형 - Dynamic Programming (0) 2021.07.20 [🥲 프로그래머스] N으로 표현 (Dynamic Programming) (0) 2021.07.19 [프로그래머스] H-index (0) 2021.06.11 [leetcode] 1. Two Sum (0) 2021.05.04 [leetcode] 819. Most Common Word (0) 2021.04.28