[프로그래머스] 신규 아이디추천 (Python)

2021. 3. 29. 20:43·코딩 테스트
728x90

1. 문제

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

 

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

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

programmers.co.kr

2. 풀이

단계별로 조건에 맞게 구현하면 되는 문제.

step 4 에서 길이가 0이 되는경우를 고려해주어야 한다.

 

3. 코드

def solution(new_id):
    answer = ''
   #1단계
    new_id = new_id.lower()
    #2단계

    for x in new_id:
        if x.isdigit() or x.isalpha() or x == '-' or x == '_' or x == '.':
            answer += x


    #3단계
    while '..' in answer:
        answer = answer.replace('..', '.')

    #step 4
    if answer[0] == '.':
        answer = answer[1:] if len(answer)>1 else '.'
    if answer[-1] == '.':
        answer = answer[:-1]

    #step 5
    if len(answer)==0:
        answer = 'a'
    #step 6
    if len(answer)>=16:
        answer = answer[:15]
    if answer[-1] == '.':
        answer = answer[:-1]
    #step 7
    if len(answer) < 3:
        while len(answer) != 3:
            answer += answer[-1]

    return answer
728x90

'코딩 테스트' 카테고리의 다른 글

[프로그래머스] 순위 검색 (Python)  (0) 2021.03.30
[프로그래머스] 쿼드압축 후 개수 세기 (C++)  (0) 2021.03.30
[프로그래머스] 뉴스 클러스터링 (Python)  (0) 2021.03.24
[프로그래머스] 게임 맵 최단거리 (C++)  (0) 2021.03.23
[프로그래머스] 타겟넘버 (Python)  (0) 2021.03.23
'코딩 테스트' 카테고리의 다른 글
  • [프로그래머스] 순위 검색 (Python)
  • [프로그래머스] 쿼드압축 후 개수 세기 (C++)
  • [프로그래머스] 뉴스 클러스터링 (Python)
  • [프로그래머스] 게임 맵 최단거리 (C++)
zoodi
zoodi
IT/개발 관련 지식을 기록하는 블로그입니다.
  • zoodi
    오늘의 기록
    zoodi
  • 전체
    오늘
    어제
    • 분류 전체보기
      • 후기
        • 컨퍼런스
        • 일상리뷰
      • 금융경제
        • 뉴스
        • 금융IT용어
        • 경제 및 부동산
      • 코딩 테스트
      • 스터디
        • JAVA
        • Kotlin
        • Spring
        • React, Nextjs
        • 인공지능 AI
        • Cloud & k8s
        • Kafka
        • Database
        • Network
        • Algorithm
        • Hadoop
        • LINUX
        • R Programming
        • 기타 (소공, 보안)
      • 도서
      • 기타
  • 블로그 메뉴

    • 홈
    • 스터디
    • 금융경제
    • 후기
    • 기타
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    코딩
    스프링
    코딜리티
    springboot
    자료구조
    프로그래머스
    카카오코테
    Spring
    리트코드
    쿠버네티스
    LeetCode
    MySQL
    db
    CodingTest
    Python
    C++
    스프링부트
    codility
    자바
    Kotlin
    코테공부
    네트워크
    알고리즘
    kafka
    java
    금융용어
    코딩테스트
    이분탐색
    pythoncodingtest
    코테
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.4
zoodi
[프로그래머스] 신규 아이디추천 (Python)
상단으로

티스토리툴바