-
[프로그래머스 / Python] 핸드폰 번호 가리기 | 초코더알고리즘/프로그래머스 2020. 1. 8. 21:11
문제 설명
프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다.
전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자를 전부 *으로 가린 문자열을 리턴하는 함수, solution을 완성해주세요.
제한 사항
-s는 길이 4 이상, 20이하인 문자열입니다.
입출력 예
phone_number
return
01033334444
*******4444
027778888
*****8888
접근법
저는 두가지 방법으로 생각해보았는데 첫번째 방법이 왜 오류가 나는지 잘모르겠습니다!
1. 문자열의 앞에서부터 len(phone_number) - 4 까지 "*"로 바꿔줍니다. 반복문을 사용하고 replace함수를 사용했습니다.
2. len(phone_number) - 4 만큼 "*"을 곱해주고 문자열 뒷 4자리는 그대로 붙였습니다.
나의 코드
1. 오류나는 코드
def solution(phone_number): for i in range(len(phone_number)-4): phone_number = phone_number.replace(phone_number[i],"*") return phone_number
2. 정상 코드
def solution(phone_number): return "*"*(len(phone_number)-4) + phone_number[-4:]
'알고리즘 > 프로그래머스' 카테고리의 다른 글
[프로그래머스 / Python] 하샤드 수 | 초코더 (0) 2020.01.08 [프로그래머스 / Python] 평균 구하기 | 초코더 (0) 2020.01.08 [프로그래머스 / Python] 약수의 합 | 초코더 (0) 2020.01.06 [프로그래머스 / Python] 문자열을 정수로 바꾸기 | 초코더 (0) 2020.01.06 [프로그래머스 / Python] 소수 찾기(1단계) | 초코더 (0) 2020.01.05