728x90
https://programmers.co.kr/learn/courses/30/lessons/72410
오늘도 쉬운 문제 하나 풀고 카카오 기출 레벨 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이 있었지'라고 한번 더 상기시킬 수 있었다 ^^....
728x90