코딩테스트 연습 - 신규 아이디 추천
카카오에 입사한 신입 개발자 네오는 "카카오계정개발팀"에 배치되어, 카카오 서비스에 가입하는 유저들의 아이디를 생성하는 업무를 담당하게 되었습니다. "네오"에게 주어진 첫 업무는 새로
programmers.co.kr
카카오에서 나온 문제입니다. 난이도는 쉬운편으로 문제에 주어지는대로 구현을 하기만 하면 되는 문제였습니다. 크게 사용되는 기술은 없었고 정수인지 판별, 영어인지 판별, 공백제거, 문자 변환 등의 기능을 사용하여 구현했습니다.
def solution(new_id):
answer = '';
#1단계
new_id = new_id.lower();
print(new_id);
#2단계
allow = ["-","_","."];
arr = list(new_id);
new = "";
for i in range(len(arr)):
if not arr[i].isdigit() and not arr[i].isalpha():
if arr[i] not in allow:
continue;
else:
new += arr[i];
else:
new += arr[i];
new_id = new;
print(new_id);
#3단계
arr = new_id;
count = 0;
new = "";
for i in range(len(arr)):
if arr[i] == ".":
count += 1;
else:
if count != 0:
new += "."+arr[i];
count = 0;
else:
new += arr[i];
if count != 0:
new += ".";
new_id = new;
print(new_id);
#4단계
if len(new_id) != 0:
if new_id[0] == ".":
new_id = new_id[1:];
if len(new_id) != 0:
if new_id[-1] == ".":
new_id = new_id[:len(new_id)-1];
print(new_id);
#5단계
if new_id == "":
new_id = "a";
#6단계
if len(new_id) >= 16:
new_id = new_id[0:15];
if new_id[-1] == ".":
new_id = new_id[:len(new_id)-1];
#7단계
if len(new_id) <= 2:
while(len(new_id) != 3):
new_id += new_id[-1];
answer = new_id;
return answer;
'Coding Test > Programmers' 카테고리의 다른 글
[프로그래머스] 기능개발, java (0) | 2025.01.21 |
---|---|
[프로그래머스] 멀리 뛰기, java (0) | 2024.12.22 |
[프로그래머스] 숫자 문자열과 영단어, java (0) | 2022.12.11 |
[프로그래머스] 문자열 압축, python (0) | 2022.01.01 |
[프로그래머스] 완주하지 못한 선수, java (0) | 2020.12.22 |