Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
Tags
- Regression
- 스택
- Stack
- 국민대학교
- 재귀
- PANDAS
- 프로그래머스
- gan
- 회귀
- LSTM
- SQL
- GIT
- OS
- 머신 러닝
- machine learning
- 데이터베이스
- C++
- Seq2Seq
- Python
- 국민대
- googleapiclient
- 운영체제
- Heap
- instaloader
- python3
- 정렬
- kmu
- db
- 파이썬
- programmers
Archives
- Today
- Total
정리 노트
[Python]프로그래머스 신규 아이디 추천 본문
728x90
https://programmers.co.kr/learn/courses/30/lessons/72410
코딩테스트 연습 - 신규 아이디 추천
카카오에 입사한 신입 개발자 네오는 "카카오계정개발팀"에 배치되어, 카카오 서비스에 가입하는 유저들의 아이디를 생성하는 업무를 담당하게 되었습니다. "네오"에게 주어진 첫 업무는 새로
programmers.co.kr
이번 문제도 어렵지 않게 풀 수 있는 난이도의 문제였다. 이 문제는 정규식을 알고 있어야 코드가 간결해진다.
정규식을 사용하기 위해 re 모듈을 import 해서 풀어야 한다. 풀이 코드는 아래와 같다.
import re
def solution(new_id):
max_length = 15
new_id = new_id.lower() # 1단계
new_id = re.sub('[~!@#$%^&*()=+\[\{\]\}:?,<>/]', '', new_id) # 2단계
new_id = re.sub('\.{2,}', '.', new_id) # 3단계
new_id = re.sub('^\.|\.$', '', new_id) # 4단계
if len(new_id) == 0: # 5단계
new_id = "a"
if len(new_id) > max_length: # 6단계
new_id = new_id[:max_length]
new_id = re.sub('\.$', '', new_id)
while len(new_id) <= 2: # 7단계
new_id += new_id[-1]
return new_id
정규식에 대해서는 나중에 따로 정리해놔야 내가 찾기 편할 것 같다.
728x90
'코딩테스트 연습' 카테고리의 다른 글
[프로그래머스]키패드 누르기(Python) (0) | 2022.06.24 |
---|---|
[프로그래머스]타겟 넘버(Python) (0) | 2022.06.24 |
[Python]프로그래머스 신고 결과 받기 (0) | 2022.06.22 |
[프로그래머스]로또의 최고 순위와 최저 순위(Python) (0) | 2022.06.22 |
[프로그래머스]H-Index(Python) (0) | 2022.06.21 |