코딩 테스트/Python

[프로그래머스 코딩테스트 연습] 7. 핸드폰 번호 가리기

알밤바 2022. 2. 17. 15:09
728x90
반응형

 

 

코딩테스트 연습 - 핸드폰 번호 가리기

프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다. 전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자

programmers.co.kr


1) 문제 설명

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

 

2) 제한 조건

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

 

3) 입출력 예


1. 문제 접근방식

뒤에서 네번째의 인덱스에서 슬라이싱을 하여 진행한다.

그리고 *를 phone_number의 뒷 4자리를 제외한 길이만큼 만들어줘야 하는데, 이때는 문자열 연산을 사용하면 된다.

2. 풀이코드

def solution(phone_number):
    answer = '*' * len(phone_number[:-4]) + phone_number[-4:]
    return answer

뒷 4자리를 제외한 나머지의 전화번호를 *로 변경해야 한다.

여기서 주의해야 할 점은 phone_number는 10~11개의 숫자이기에 뒤에서 네번째까지의 인덱스를 기준으로 슬라이싱을 해줘야 한다.

그리고 문자열 연산을 사용하면 갯수만큼 동일한 문자열이 출력이 되기 때문에 곱셈을 사용한다. 

마지막으로 뒷 4자리는 숫자로 출력해야 하기에 + 연산자를 통해서 같이 출력되도록 해주면 된다.

3. 느낀 점

생각보다 매우 간단한 문제였는데, *를 여러개 출력하는 방법을 몰라서 많이 헤맸다. 하지만 곱셈 연산자로 쉽게 할 수 있었다. 역시 기본이 제일 중요하다...!

728x90
반응형