https://school.programmers.co.kr/learn/courses/30/lessons/72410
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
단순 구현문제이다.
근데 힘들었다ㅠㅡㅠ ..생구현 싫어~
import copy
def solution(new_id):
answer = ''
# 1단계
new_id = new_id.lower()
#2단계
new_id = list(new_id)
arr = ['-','_','.'] + ['a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z']+['0','1','2','3','4','5','6','7','8','9']
new_id2 = []
for i in (new_id):
if i in arr :
new_id2.append(i)
#3단계
b=copy.deepcopy(new_id2)
a = len(b)
cnt = 0
cnt2 = 0
st = 0
while cnt2 != a:
for i in range(st, len(new_id2)):
if new_id2[i] == '.':
cnt += 1
cnt2 +=1
if cnt >= 2:
new_id2.pop(i)
st = i
break
else:
cnt = 0
cnt2 +=1
#4단계
if new_id2[0] =='.':
new_id2.pop(0)
#5단계
if len(new_id2) >=1:
for i in range(len(new_id2)):
if new_id2[i] ==' ':
new_id2[i] = 'a'
else:
new_id2.append('a')
#6단계
new_id3 = []
# for i in range(0,15):
# new_id3.append(new_id2[i])
# if new_id3[-1] =='.':
# new_id3.pop(-1)
if len(new_id2) >=16:
new_id3 = new_id2[0:15:1]
if new_id3[-1] =='.': new_id3.pop(-1)
else:
new_id3 = new_id2
if new_id3[-1] =='.': new_id3.pop(-1)
#7단계
if len(new_id3) <=2:
while len(new_id3) !=3:
new_id3.append(new_id3[-1])
answer=''.join(new_id3)
return answer
'Algorithm > programmers' 카테고리의 다른 글
programmers 키패드누르기 (1) | 2022.08.03 |
---|---|
programmers 숫자 문자열과 영단어 (0) | 2022.08.02 |
programmers 신고 결과 받기 (0) | 2022.07.26 |
프로그래머스: 굿스타터 스킬레벨체크1(python) (0) | 2022.07.26 |
programmers 카펫(완전탐색) (0) | 2022.06.14 |
댓글