Python/알고리즘
프로그래머스-파이썬 (핸드폰 번호 가리기)
SeongWon
2020. 4. 6. 21:21
반응형
Q. 프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다.
전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자를 전부 "*"으로 가린 문자열을 리턴하는 함수, solution을 완성해주세요.
<제한 사항>
- s는 길이 4 이상, 20이하인 문자열입니다.
<입출력 예시>
<내 풀이>
def solution(phone_number):
answer = ''
secret_number = phone_number[-4:]
for i in range(len(phone_number)-4):
answer += "*"
answer += secret_number
return answer
슬라이싱을 이용하여 번호의 뒷자리부터 4번째 자리까지만 따로 떼어놓고, 빈 문자열 answer에 입력되는 데이터는 phone_number의 길이에서 떼어진 뒷자리 4개의 숫자만큼 반복문을 돌려 " * "을 더해주는 단순한 연산을 사용했다.
<다른 사람의 풀이>
def hide_numbers(s):
return "*"*(len(s)-4) + s[-4:]
나와 똑같은 단순 연산법이지만 생각해낸 알고리즘의 수준이 전혀 다르다. 무작정 반복문부터 돌려보는 습관을 고쳐야겠다.
반응형