https://programmers.co.kr/learn/courses/30/lessons/72410
이거는 … 전형적인 피지컬 문제다.
문제 자체는 어렵지 않다.
하지만… 문법이나 라이브러리나 함수 등을 잘 알아야 하는 피지컬 문제여서 무려 1시간 동안이나 헤맸다. 진짜 울 뻔했다. 헛짓거리하다가 결국 좀 찾아봤다. isalnum()이라는 멋있는 함수가 있었다니.
isalnum() 함수라던가 리스트 슬라이싱 인덱싱이라던가… 확실하게 잘 알고 있어야 중간에 로직 꼬임없이 풀 수 있는 문제였다.
def solution(new_id):
new_id=new_id.lower()
answer = ''
for i in new_id:
if i.isalnum() or i in '-_.':
answer+=i
while '..' in answer:
answer=answer.replace('..','.')
if answer[0]=='.' and len(answer)>1 :
answer=answer[1:]
if answer[-1]=='.':
answer=answer[:-1]
if answer=='' :
answer='a'
if len(answer)>=16:
answer=answer[:15]
if answer[-1]=='.':
answer=answer[:-1]
temp_answer = answer[-1]
if len(answer)<=2 :
while(len(answer)<3) :
answer+=temp_answer
print(answer)
return answer
a="abcdefghijklmn.p"
solution(a)
'알고리즘' 카테고리의 다른 글
프로그래머스-3진법 뒤집기 (0) | 2022.05.31 |
---|---|
프로그래머스-폰켓몬 (0) | 2022.05.26 |
[프로그래머스] 로또의 최고 순위와 최저 순위 (0) | 2022.05.17 |
DFS/BFS (0) | 2021.07.06 |
구현 (0) | 2021.07.05 |
댓글