🚩 문제 설명
프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다.
전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자를 전부 *로 가린 문자열을 리턴하는 함수, solution을 완성해주세요.
❗ 제한 조건
💡 아이디어
1. 입력된 phone_number 값을 list로 변환한다.
2. list의 길이에서 가리지 않을 4개의 숫자를 제외하고 나머지를 for문으로 *로 바꾸어 준다.
3. 리스트의 값을 join하여 문자열로 다시 바꾸어 return 한다.
⌨️ 나의 해답
def solution(phone_number) :
s = list(phone_number)
for i in range(0, len(s) - 4) :
s[i] = '*'
return ''.join(s)
이 문제를 처음보고 replace 함수를 사용하여 원하는 문자로 변환하려 하였지만 생각해보니 해당하는 문자를 알아야하는데 알 수 없다는 점이 잘못됬다는 것을 알았다.
그래서 문자열을 리스트로 변환하여 리스트의 각 문자를 변환하는 것으로 해결하였다.