본문 바로가기
알고리즘

프로그래머스-신규 아이디 추천

by Rudy 2022. 5. 25.

https://programmers.co.kr/learn/courses/30/lessons/72410

 

코딩테스트 연습 - 신규 아이디 추천

카카오에 입사한 신입 개발자 네오는 "카카오계정개발팀"에 배치되어, 카카오 서비스에 가입하는 유저들의 아이디를 생성하는 업무를 담당하게 되었습니다. "네오"에게 주어진 첫 업무는 새로

programmers.co.kr

이거는 … 전형적인 피지컬 문제다.

문제 자체는 어렵지 않다.

하지만… 문법이나 라이브러리나 함수 등을 잘 알아야 하는 피지컬 문제여서 무려 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

댓글