본문 바로가기
Algorithm/Programmers

[Algorithm] 프로그래머스 - 핸드폰 번호 가리기

by 홍월이_ 2022. 12. 23.

시작하며...

모든 알고리즘 문제 풀이는 제가 직접 짜서 정답을 맞춘 결과만을 공유합니다.

마지막 'More Solution'은 다른 정답자들 풀이 중 생각지 못했던 부분들이나 좋게 느껴진 풀이법 몇개를 가져와서 공유하였습니다.

 

[Level 1] 핸드폰 번호 가리기

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

문제 설명

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

제한 조건

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

입출력 예

 

My Solution

def solution(phone_number):
    return phone_number.replace(phone_number[0:-4], '*'*len(phone_number[0:-4]))
  • 문자열 replace와 Slicing을 활용한 풀이
  • 문자열 phone_number의 뒤에서 4개를 제외한 슬라이싱을 하여 " * "를 슬라이싱한 길이만큼 바꾸었다.

 

More Solution

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

이런 풀이도 가능함에 머리를 탁 쳤다.. 간단하게 * 를 문자열 전체 길이의 -4만큼 찍고

뒷부분은 문자열의 마지막 4개로 채워주었다.

 

...끝!

 

출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challenges

댓글