티스토리 뷰
https://school.programmers.co.kr/learn/courses/30/lessons/72410
1. 접근 방식
- 문제에 나와 있는 단계대로 함수를 만들어 처리하자.
문제에서 규칙에 맞는 새 아이디를 추천하는 방법을 단계별로 설명해주었다. 따라서 각 단계에서 말하는 대로 아이디를 처리하면 된다. 별달리 고민할 필요 없이 하라는 대로 처리하면 되는 문제다.
2. 정답 코드
def step_1_2(data):
s = ''
for x in data.lower():
if not x.isalpha() and not x.isdigit() and x not in ['-', '_', '.']:
continue
s += x
return s
def step_3(data):
s = data[0]
if len(data) > 1:
for x in data[1:]:
if s[-1] == '.' and x == '.':
continue
s += x
return s
def step_4(data):
i = 1 if data[0] == '.' else 0
j = len(data) - 1 if data[-1] == '.' else len(data)
return data[i:j]
def step_5(data):
if not data:
data = 'a'
return data
def step_6(data):
if len(data) >= 16:
data = data[:15]
if data[-1] == '.':
data = data[:-1]
return data
def step_7(data):
while len(data) < 3:
data += data[-1]
return data
def solution(new_id):
new_id = step_1_2(new_id)
new_id = step_3(new_id)
new_id = step_4(new_id)
new_id = step_5(new_id)
new_id = step_6(new_id)
new_id = step_7(new_id)
return new_id
728x90
'코딩 테스트 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 신고 결과 받기 파이썬 정답 코드 (0) | 2023.06.14 |
---|---|
[프로그래머스] 성격 유형 검사하기 파이썬 정답 코드 (0) | 2023.06.13 |
[프로그래머스] 크레인 인형뽑기 게임 파이썬 정답 코드 (0) | 2023.06.13 |
[프로그래머스] 문자열 나누기 파이썬 정답 코드 (0) | 2023.06.13 |
[프로그래머스: 코딩테스트 연습 힌트 모음집] 체육복 파이썬 정답 코드 (0) | 2022.11.16 |