핸드폰 번호 가리기
별이는 헬로월드텔레콤에서 고지서를 보내는 일을 하고 있습니다.
개인정보 보호를 위해 고객들의 전화번호는 맨 뒷자리 4자리를 제외한 나머지를 ` * ` 으로 바꿔야 합니다.
전화번호를 문자열 s로 입력받는 hide_numbers함수를 완성해 별이를 도와주세요.
예를들어 s가 01033334444 면 *******4444 를 리턴하고, 027778888 인 경우는 *****8888 을 리턴하면 됩니다.
- 내가 푼 것
def hide_numbers(s):
hide = len(s) - 4
change = '*' * hide
return s.replace(s[0:hide], change)
print("결과 : " + hide_numbers('01033334444'));
- 다른 사람 풀이
import re
def hide_numbers(s):
p = re.compile(r'\d(?=\d{4})')
return p.sub("*", s, count = 0)
# 아래는 테스트로 출력해 보기 위한 코드입니다.
print("결과 : " + hide_numbers('01033334444'));
print("결과 : " + hide_numbers('027778888'));
소감
- 정규표현식을 활용한 풀이가 와닿았다. 다음에 정규표현식으로 문제에 접근해봐야지!