Algorithm
[프로그래머스] Level1 | 신규 아이디 추천 - 파이썬(Python) | 2021 카카오 블라인드 채용
토오오끼
2021. 11. 2. 23:43
728x90
https://programmers.co.kr/learn/courses/30/lessons/72410
코딩테스트 연습 - 신규 아이디 추천
카카오에 입사한 신입 개발자 네오는 "카카오계정개발팀"에 배치되어, 카카오 서비스에 가입하는 유저들의 아이디를 생성하는 업무를 담당하게 되었습니다. "네오"에게 주어진 첫 업무는 새로
programmers.co.kr
오늘도 쉬운 문제 하나 풀고 카카오 기출 레벨 1 문제를 하나 더 풀었다.
'신규 아이디 추천' 문제로 문제에 나온 단계별로 차근차근 풀면 되는 문제이다.
1단계에서 7단계로 차근차근 풀면 되는 문제였고 나는 3단계에서 조금 애를 먹었다.
처음부터 for문으로 연속해서 ..이 나오는 경우를 걸러내려고 했으나 생각한대로 잘 되지 않았다. 찾아보니 replace라는 좋은 방법이 있어서 replace를 사용하여 해결했다.
def solution(new_id):
answer = ''
#1
new_id = new_id.lower()
#2
for s in new_id :
if s.isalnum() or s in "-_." :
answer += s
#3
while '..' in answer :
answer = answer.replace('..', '.')
#4
if len(answer) >=1 :
for i in range(len(answer)) :
if answer[0] == '.' :
answer = answer [1:]
elif answer[-1] == '.' :
answer = answer[:-1]
#5
if len(answer) == 0 :
answer += 'a'
#6
elif len(answer) > 15 :
answer = answer[:15]
if answer[-1] == '.':
answer = answer[:-1]
#7
if len(answer) >0 and len(answer) < 3 :
while len(answer) < 3:
answer += answer[-1]
return answer
주석으로 단계를 표시해 뒀다.
3단계 7단계를 어떻게 반복문을 사용할지 고민하다가 for만 쓰다가 while을 잊고 있었는데 '아 맞다 while이 있었지'라고 한번 더 상기시킬 수 있었다 ^^....
GitHub - YOOHYOJEONG/algorithm_practice: 알고리즘 공부 및 코딩테스트 준비
알고리즘 공부 및 코딩테스트 준비. Contribute to YOOHYOJEONG/algorithm_practice development by creating an account on GitHub.
github.com
728x90