[파이썬 정복기] level 1 - 핸드폰 번호 가리기



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


❗ 제한 조건

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

💡 아이디어
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 함수를 사용하여 원하는 문자로 변환하려 하였지만 생각해보니 해당하는 문자를 알아야하는데 알 수 없다는 점이 잘못됬다는 것을 알았다.

그래서 문자열을 리스트로 변환하여 리스트의 각 문자를 변환하는 것으로 해결하였다.

좋은 웹페이지 즐겨찾기