시작하며...
모든 알고리즘 문제 풀이는 제가 직접 짜서 정답을 맞춘 결과만을 공유합니다.
마지막 'More Solution'은 다른 정답자들 풀이 중 생각지 못했던 부분들이나 좋게 느껴진 풀이법 몇개를 가져와서 공유하였습니다.
[Level 1] 핸드폰 번호 가리기
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
문제 설명
프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다.
전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자를 전부 *으로 가린 문자열을 리턴하는 함수, solution을 완성해주세요.
제한 조건
- phone_number는 길이 4 이상, 20이하인 문자열입니다.
입출력 예
![](https://blog.kakaocdn.net/dn/zQAjE/btrUlH08W8z/xmEZPtlEEfaksj5XQEwFZ0/img.png)
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
'Algorithm > Programmers' 카테고리의 다른 글
[Algorithm] 프로그래머스 - 최대공약수와 최소공배수 (0) | 2022.12.23 |
---|---|
[Algorithm] 프로그래머스 - 제일 작은 수 제거하기 (1) | 2022.12.23 |
[Algorithm] 프로그래머스 - 콜라츠 추측 (0) | 2022.12.23 |
[Algorithm] 프로그래머스 - 자릿수 더하기 (0) | 2022.12.22 |
[Algorithm] 프로그래머스 - 짝수와 홀수 (0) | 2022.12.22 |
댓글