Just Do IT!
[프로그래머스 Level 1] 12948. 핸드폰 번호 가리기 (JavaScript/Python) 본문
728x90
반응형
문제 설명
프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다.
전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자를 전부 *으로 가린 문자열을 리턴하는 함수, solution을 완성해주세요.
제한 조건
- phone_number는 길이 4 이상, 20이하인 문자열입니다.
입출력 예
phone_number | answer |
"01033334444" | "*******4444" |
"027778888" | "*****8888" |
자바스크립트로 풀기
function solution(phone_number) {
var answer = '';
answer = phone_number.slice(0, -4).replace(/[0-9]/g, '*') + phone_number.slice(-4);
return answer;
}
- slice() 사용해서 앞 부분 잘라서 '*'으로 변경
- 정규 표현식 사용해서 숫자를 '*'으로 변경
- 뒷자리 4개 slice() 사용해서 자르기
다른 사람 풀이
function solution(phone_number) {
const len = phone_number.length - 4;
return "*".repeat(len) + phone_number.substring(len);
// 뒤 4자리를 기준으로 앞의 번호들을 repeat를 사용해 *처리해주고, substring은 인덱스 값을 사용해 시작점을 정해줄 수 있다.
}
굳이 정규 표현식을 쓰지 않고 repeat()을 사용해도 되는 거였다니..!! 기본에 충실해야겠다.
파이썬으로 푼 풀이
def solution(phone_number):
num = len(phone_number)
back = phone_number[-4:]
return "*"*(num-4) + back
과거의 나는...이렇게 간단하게 풀었구나....하며 복습을 해봤다...ㅋㅋㅋㅋ
728x90
'코딩테스트 준비 > Level 1' 카테고리의 다른 글
[프로그래머스 Level 1] 81301. 숫자 문자열과 영단어 (JavaScript) (0) | 2023.04.11 |
---|---|
[프로그래머스 Level 1] 12915. 문자열 내 마음대로 정렬하기 (JavaScript) (0) | 2023.04.10 |
[프로그래머스 Level 1] 86491. 최소직사각형 (Python) (0) | 2023.04.07 |
[프로그래머스 Level 1] 131705. 삼총사 (JavaScript) (0) | 2023.04.06 |
[프로그래머스 Level 1] 12926. 시저 암호 (JavaScript) (0) | 2023.04.05 |