2020. 4. 28. 15:27

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

문제 설명


프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다.

전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자를 전부 *으로 가린 문자열을 리턴하는 함수, solution을 완성해주세요.

 

제한 조건


  • s는 길이 4 이상, 20이하인 문자열입니다.

 

문제 풀이


def solution(phone_number):
    answer=""
    for i in range(0, len(phone_number)-4):
        answer += "*"
    return answer + phone_number[len(phone_number)-4:]

사실 갑자기 *을 어떻게 처리해줄지가 빠르게 떠오르지 않아서 그냥 일일히 때려 넣어줬다. 하지만 여기서 내 기억상실증이 문자열은 곱셈이 된다는 것을 잊고있었고...

 

다른 풀이


def hide_numbers(s):
    return "*"*(len(s)-4) + s[-4:]

다른 풀이를 보자마자 이렇게 할수있는 것을 알고있었음을 깨달았다. 이 방법이 오히려 시간복잡도와 공간복잡도를 더 줄일 수 있어서 더 빠른 코드가 될 것이다.