코딩테스트 연습 - 핸드폰 번호 가리기
프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다. 전화번호가 문자열 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. 느낀 점
생각보다 매우 간단한 문제였는데, *를 여러개 출력하는 방법을 몰라서 많이 헤맸다. 하지만 곱셈 연산자로 쉽게 할 수 있었다. 역시 기본이 제일 중요하다...!
'코딩 테스트 > Python' 카테고리의 다른 글
[프로그래머스 코딩테스트 연습] 10. 서울에서 김서방 찾기 (0) | 2022.02.23 |
---|---|
[프로그래머스 코딩테스트 연습] 9. 약수의 합 (0) | 2022.02.22 |
[프로그래머스 코딩테스트 연습] 6. 가운데 글자 가져오기 (0) | 2022.02.17 |
[프로그래머스 코딩테스트 연습] 5. 짝수와 홀수 (0) | 2022.02.16 |
[프로그래머스 코딩테스트 연습] 4. 완주하지 못한 선수 (0) | 2022.02.15 |