핸드폰 번호 가리기
문제 설명
프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다.
전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자를 전부
전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자를 전부
*
으로 가린 문자열을 리턴하는 함수, solution을 완성해주세요.제한 조건
- s는 길이 4 이상, 20이하인 문자열입니다.
입출력 예
phone_number | return |
---|---|
01033334444 | *******4444 |
027778888 | *****8888 |
문제풀이 IDEA
받은 문자열의 뒷 4자리를 제외한 길이만큼 *를 생성해주고
문자열의 앞부분을 슬라이싱 해서 *로 치환시켜 주려고 하니까
str 형에는 대입이 안된다고 에러가 뜨길래
반대로 생성한 *에다가 뒷 4자리를 붙여주는 IDEA를 가져왔다
나의 코드
1 2 3 4 | def solution(phone_number): answer = "*" * (len(phone_number)-4) + phone_number[len(phone_number)-4:] return answer |
다른 코드
s[len(s)-4:] == s[-4:]
위의 코드에서 보면 나는 마지막 4개의 문자를 가져오기 위해 len(s)-4:를 사용했는데
-4: 를 사용하게 되면 역순으로 마지막 4개를 가져오게 되므로
slicing의 -에 대해서 다시한번 생각해볼 수 있는 다른 풀이였다.
출처 : 프로그래머스