[프로그래머스] Level1 - 핸드폰 번호 가리기 (Python)

HJ Kim·2022년 6월 4일
0

프로그래머스

목록 보기
6/50

문제 설명
프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다.
전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자를 전부 *으로 가린 문자열을 리턴하는 함수, solution을 완성해주세요.

제한 조건

  • phone_number는 길이 4 이상, 20이하인 문자열입니다.
입출력
phone_numberreturn
"01033334444""***4444"
"027778888""*8888"

내 문제 풀이

  • 뒤에 4개 문자를 제외한 나머지 문자열에 대해선 replace 생각함.
def solution(phone_number):
    phone_number = phone_number.replace(phone_number[:len(phone_number)-4:1], '*'*(len(phone_number)-4))
    
    return phone_number

아쉬운점

다른 사람들의 코드를 보면 굳이 replace를 하지 않고 return 값 자체에서 문자열 slice를 쓴 경우가 있는데 그게 더 깔끔해보였음.

def hide_numbers(s):
    return "*"*(len(s)-4) + s[-4:]
  • 내 풀이랑 비교하면 원리는 똑같지만 좀더 간결하다.
  • 문자열 slice 공부하기.
profile
티끌모아 태산을 아는 사람

0개의 댓글