codekata

[프로그래머스] #27 핸드폰 번호 가리기 (문자열 연산)

kinggoddino 2024. 7. 24.

▶ 문제

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

 

▶ 제한조건

phone_number는 길이 4 이상, 20 이하인 문자열

 

▶ 풀이

def solution(phone_number):
    num = len(phone_number)-4
    return '*' * num, phone_number[-4:]
    
# 실행한 결괏값 ["*******","4444"]이 기댓값 "*******4444"과 다릅니다

틀림

 

왜 리스트 형태로 나온다고 하지?

 

그래서 파이참에서 실행해봤다.

def solution(phone_number):
    num = len(phone_number)-4
    return '*' * num, phone_number[-4:]

print(solution("01033334444"))
# ('*******', '4444')

 

지금 문자열 두 개를 콤마(,) 로 이어서 반환하고 있는데

두 개의 값을 return 키워드로 반환하면 파이썬에서는 튜플로 취급한다.

그렇군

 

문자열로 결합하려면 + 를 사용해서 결합해야 한다구 함.

def solution(phone_number):
    num = len(phone_number)-4
    return '*' * num + phone_number[-4:]

통과!

 

문자열도 곱셈이 가능하고, + 를 통해 결합 할 수 있다