본문 바로가기

카테고리 없음

tryhelloworld Lv1 핸드폰번호 가리기

@마크다운


[문제 풀러가기](https://programmers.co.kr/learn/challenge_codes/133)


```

별이는 헬로월드텔레콤에서 고지서를 보내는 일을 하고 있습니다. 개인정보 보호를 위해 고객들의 전화번호는 맨 뒷자리 4자리를 제외한 나머지를 "*"으로 바꿔야 합니다.
전화번호를 문자열 s로 입력받는 hide_numbers함수를 완성해 별이를 도와주세요
예를들어 s가 "01033334444"면 "*******4444"를 리턴하고, "027778888"인 경우는 "*****8888"을 리턴하면 됩니다.

```


내가 푼 코드


```

def hide_numbers(s):

    length = len(s)-4

    star = length * '*'

    return s.replace(s[0:length],star)


# 아래는 테스트로 출력해 보기 위한 코드입니다.

print(hide_numbers('01033334444'));

```


풀이: 제일 뒤의 4자리를 제외한 나머지를 바꾸라는 전제 조건이 있다.

제일뒤의 4자리만 빼고 다 *로 바꾸면 된다는 소리

뒤의 4자리를 뺀 문자열의 길이를 구한 후

문자열 만큼의 *을 곱하고 replace시킨다.


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

> 문자열 길이-4 만큼 *을 구한 후 나머지 4자리를 붙인다.