[프로그래머스] 신규 아이디 추천 Lv.1 - [파이썬/python]
https://school.programmers.co.kr/learn/courses/30/lessons/72410
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
문제 설명
ID를 조건에 맞게 변환하여 반환(return)하면 되는 문제입니다.
조건은 7단계로 나눠져 있습니다.
# 1단계
- ID의 모든 대문자를 소문자로 치환한다.
# 2단계
- ID에서 알파벳 소문자, 숫자, 빼기("-"), 밑줄("_"), 마침표(".")를 제외한 모든 문자를 제거한다.
# 3단계
- ID에서 마침표(".")가 2번 이상 연속된 부분을 하나의 마침표(".")로 치환한다.
# 4단계
- ID에서 마침표(".")가 처음이나 끝에 위치한다면 제거한다.
# 5단계
- ID가 빈 문자열이라면, ID에 "a"를 대입합니다.
# 6단계
- ID의 길이가 16자 이상이면, ID의 첫 15개의 문자를 제외한 나머지 문자들을 모두 제거한다.
- 만약 제거 후 마침표(".")가 ID의 끝에 위치한다면 끝에 위치한 마침표(".") 문자를 제거한다.
# 7단계
- ID의 길이가 2자 이하라면, ID의 마지막 문자를 ID의 길이가 3이 될 때까지 반복해서 끝에 붙인다.
# 1단계
- 파이썬은 [어떤 문자열 메서드]를 통해 모든 대문자를 소문자로 변환할 수 있습니다.
- [어떤 문자열 메서드]는 문자열에 특수문자가 포함되어 있어도 상관없이 사용가능합니다.
# 2단계
- 원하는 문자만 통과시키기 / 필요 없는 문자를 제거하기 / 필요 없는 문자를 빈 문자로 치환하기
# 3단계
- 2개의 마침표("..")가 ID안에 있는지 확인 후, 마침표(".") 치환하기
- 조건반복문을 통해 여러 번 확인해야 함
- 마침표(".")가 5개 이상 연속으로 붙어있어도 2개씩 확인하여 하나로 치환하면 결국 하나만 남음
# 4단계
- 문자열의 처음(ID[0])과 끝(ID[-1])에 마침표(".")가 있는지 확인 후 삭제하기
- 앞 3단계에서 연속된 마침표는 제거했으니 반복문은 사용하지 않아도 됨
# 5단계
- ID가 빈문자열("")인지 확인하고 "a" 대입하기
# 6단계
- 문자열의 길이를 확인 후, 문자열 슬라이싱을 통해 앞 15개의 문자만 넣거나 / 16번째 문자부터 잘라버리기
- 문자열 길이 조정 후 마침표(".")가 끝에 위치하면 제거하거나 / 치환하기
# 7단계
- 문자열의 길이를 확인 후 문자열의 끝(ID[-1]) 문자를 문자열의 길이가 3이 될 때까지 추가하기
정답 주의!!!
'코딩테스트' 카테고리의 다른 글
[프로그래머스] 완주하지 못한 선수 - Lv.1 (0) | 2023.08.18 |
---|---|
[프로그래머스] 소수 만들기 - Lv.1 (1) | 2023.08.18 |
[프로그래머스] 햄버거 만들기 - Lv.1 (0) | 2023.08.18 |
[프로그래머스] 시저 암호 - Lv.1 (20) | 2023.08.17 |
[프로그래머스] 없는 숫자 더하기 - Lv.1 (23) | 2023.08.17 |